XL 2019 Interdire l'utilisation de la touche supprimer

  • Initiateur de la discussion Initiateur de la discussion Steph44
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
Re

Sinon si ce n'est qu'une aide à la saisie
Données Validation
(Cela fonctionne)
la formule utilisée: =ESTNONTEXTE(C5)
Par contre , je n'arrive à comprendre pourquoi la macro équivalente refuse de fonctionner
VB:
Sub Macro1()
With [C5].Validation
        .Delete
        .Add Type:=xlValidateCustom, AlertStyle:=xlValidAlertStop, Formula1:="=ESTNONTEXTE(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
NB: C'est pareil, si je mets l'équivalent anglais de la formule.
 
Ou encore, petite modif:
Code:
If Not Cellule Is Nothing Then
    MsgBox "Ça va pas la tête d'effacer " & Cellule.Address(0, 0) & " ?" & vbCrLf & _
           "Tu vas t'en prendre une belle en rentrant à la maison !"
End If
Perso, je préfère cette version
1665435772137.gif
 
Bonsoir les zamis du fil

@Dudu2 : Dans le code de ton post #15, on ne peut entrer de valeur dans les cellules concernées ? Or Steph44 a dit :
on doit pouvoir modifier la valeur numérique inscrite dans la cellule mais pas la supprimer avec la touche DEL du clavier. En résumé on doit pouvoir écrire 0 pas supprimer le contenu !
@ Staple1600 : Si... moi je vois tes messages 😂😂🤣😂😂

@+ Eric c
 
Re

Par contre celle-ci fonctionne
VB:
Sub Macro2()
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateWholeNumber, AlertStyle:=xlValidAlertStop, _
        Operator:=xlBetween, Formula1:="0", Formula2:="10000000"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = "Alerte"
        .InputMessage = ""
        .ErrorMessage = "Uniquement des nombres!"
        .ShowInput = True
        .ShowError = True
    End With
End Sub
NB: Je publie le code VBA pour éviter les copie décran et un descriptif trop long.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour