XL 2019 Interdire l'utilisation de la touche supprimer

Steph44

XLDnaute Nouveau
Bonjour à tous,

Je souhaiterai savoir s'il est possible d'empêcher l'utilisation de la touche supprimer sur deux cellules par exemple C79 et C80. J'aimerais également (si c'est possible) qu'un message apparaisse pour l'informer que cette touche supprimer n'est pas utilisable. Enfin, il faudrait malgré tout pouvoir la rendre accessible via un mot de passe.
L'utilisateur doit pouvoir saisir uniquement des valeurs numériques.

Je pense que c'est possible avec un code VBA mais je ne suis qu'un utilisateur exceptionnel du VBA et je ne sais pas en écrire. Je vois bien ou je veux en venir mais je ne sais pas le rédiger !!

Merci d'avance pour votre aide,

Cordialement,

Steph
 
Solution
Ceci dit, la solution d'@Eric C je la verrais plutôt comme ça...
VB:
Private Const RangeInterdit = "D3,G3"

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Cellule As Range
   
    If Not Intersect(Target, ActiveSheet.Range(RangeInterdit)) Is Nothing Then
        For Each Cellule In ActiveSheet.Range(RangeInterdit)
            If Len(CStr(Cellule.Value)) = 0 Then
                Application.EnableEvents = False
                Application.Undo
                Application.EnableEvents = True
                Exit For
            End If
        Next Cellule
       
        If Not Cellule Is Nothing Then
            MsgBox "Ça va pas la tête d'effacer " & Cellule.Address(0, 0) & " ?"
        End If
    End If
End Sub

patricktoulon

XLDnaute Barbatruc
@Eric C
bon ben pour ta V 2 c'est mort aussi et c'est même encore plus simple que la V1
il te suffit de selectionner une autre cellule avec et hop la touch suppr
demo.gif
 

Eric C

XLDnaute Barbatruc
Coucou le fil

Bon... Bin moi j'vais prendre mes gouttes et aller me "couquer" (oui me coucher, j'suis de ch'nord à l'origine). Concernant le code de notre ami Dudu2 (bonsoir mon loulou ;)), je ne trouve rien à redire sur ce code que je vais devoir décortiquer mais bon je ne suis pas comme notre ami Patrick (Bonsoir mon autre loulou ;)) à trouver les failles de nos codes.
Bisous (je m'autorise) à toutes & à tous et je suis content du retour à son domicile de notre ami Gérard (job75).
@+ Eric c
 

Eric C

XLDnaute Barbatruc
Mon bon Patrick. Nous avons déjà conversé en "off" et sache que je ne prends que très rarement "la mouche". J'ai eu (lors de mon temps d'activité) de nombreux démêlés avec moultes individus que je me suis toujours évertué à raisonner et j'ai presque toujours réussi. Ici, je me suis toujours senti zen et accepte les commentaires (bons ou mauvais...qui sont constructifs). Comme déjà dit, je ne suis qu'un petit "joueur" qui s'amuse dans le bac à sable des grands que vous êtes.
Bien à toi
Eric
 

Phil69970

XLDnaute Barbatruc
Bonjour à tous

Je reviens sur la question de @Staple1600

==> #16 et suivant #18, #20, #23

Et voici la solution :

VB:
Sub Macro1()
With [C5].Validation
        .Delete
        .Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertStop, Formula1:="=ISNONTEXT(C5)"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = "Achtung Baby!"
        .InputMessage = ""
        .ErrorMessage = "Attention!" & Chr(10) & "" & Chr(10) & "Vous ne devez saisir que des chiffres," & Chr(10) & ""
        .ShowInput = False
        .ShowError = True
    End With
End Sub

@Staple1600 tu pourras passé une bonne soirée 🤣

@Phil69970
 

Staple1600

XLDnaute Barbatruc
Bonjour à tous

Je reviens sur la question de @Staple1600

==> #16 et suivant #18, #20, #23

Et voici la solution :

VB:
Sub Macro1()
With [C5].Validation
        .Delete
        .Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertStop, Formula1:="=ISNONTEXT(C5)"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = "Achtung Baby!"
        .InputMessage = ""
        .ErrorMessage = "Attention!" & Chr(10) & "" & Chr(10) & "Vous ne devez saisir que des chiffres," & Chr(10) & ""
        .ShowInput = False
        .ShowError = True
    End With
End Sub

@Staple1600 tu pourras passé une bonne soirée 🤣

@Phil69970
Comprends, il me semblait avoir testé avec la formule en anglais
(comme d'ailleurs je le précisais)

Merci @Phil69970 d'avoir sauvé ma soirée ;)
 

Discussions similaires

Réponses
3
Affichages
473

Statistiques des forums

Discussions
311 735
Messages
2 082 024
Membres
101 873
dernier inscrit
excellllll