Interdire l'utilisation des touches suppr et del dans une cellule

jujulebiker85

XLDnaute Nouveau
Re moi j'en demande beaucoup je sais mais ya que vous qui puissiez m'aidez:

est-il possible d'nterdire l'utilisation des touches suppr et del dans une cellule avec dévérouillage mot de passe?

merci je débute dans le vba...
 

jmps

Nous a quitté
Repose en paix
Re : Interdire l'utilisation des touches suppr et del dans une cellule

Bonsoir,

Ta question n'est pas complète ou confuse.
S'agit-il d'interdire ces touches quand tu édites la cellule ?
Si oui, la réponse est non car en mode édition d'une cellule les évènements ne se déclenchent pas et donc pas de macros possibles.

Précise ce que tu veux faire exactement.
 

jujulebiker85

XLDnaute Nouveau
Re : Interdire l'utilisation des touches suppr et del dans une cellule

je veux qu'on puisse écrire un nombre dans une cellule sans que ça supprime l'historique des multiples aditions qui se sont créer dans cette cellule si jamais on appuie sur la touche supp ou del

regarde ce post si je clique sur supp ou del ca éfface l'historique des résultats et ca je veux l'interdire je veux que ca continue d'aditionner

https://www.excel-downloads.com/threads/addition-de-nombre-dans-meme-cellule-bis.135775/
 

jmps

Nous a quitté
Repose en paix
Re : Interdire l'utilisation des touches suppr et del dans une cellule

je veux qu'on puisse écrire un nombre dans une cellule sans que ça supprime l'historique des multiples aditions qui se sont créer dans cette cellule si jamais on appuie sur la touche supp ou del

regarde ce post si je clique sur supp ou del ca éfface l'historique des résultats et ca je veux l'interdire je veux que ca continue d'aditionner

https://www.excel-downloads.com/threads/addition-de-nombre-dans-meme-cellule-bis.135775/

Je n'ai toujours pas compris. C'est l'âge comme dit dans l'autre fil.
Tu ne veux pas qu'on fasse Suppr sur la cellule avant d'y entrer pour la modifier ou quand tu as le curseur dedans ?
Ce sont deux choses différentes.
Je m'explique : Si tu te positionnes sur la cellule et que tu ne veux pas qu'on la vide avec Suppr, c'est faisable. Si tu es en édition, on ne peut pas inhiber cette touche ni aucune autre.
 
C

Compte Supprimé 979

Guest
Re : Interdire l'utilisation des touches suppr et del dans une cellule

Bonsoir,

Je ne sais pas is j'ai tout compris, mais essaye de supprimer la valeur de la cellule ;)

A+
 

Pièces jointes

  • jujulebiker85_test.xlsm
    14.1 KB · Affichages: 163

jujulebiker85

XLDnaute Nouveau
Re : Interdire l'utilisation des touches suppr et del dans une cellule

parfait mais quand j'atoute cette macro à la suite de mes autres macro j'ai ce message d'erreur:

erreur de compilation non ambigu détecté Worksheet_Change

ma liste de macro sur ma feuille est comme çà séparé par un trait entre chaque

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([I4:I300,K4:K300,U4:U300], Target) Is Nothing And Target.Count = 1 Then
If Target <> "" Then
Application.EnableEvents = False
valsaisie = Target
Application.Undo
If Left(Target.Formula, 1) = "=" Then
Target.Formula = Target.Formula & "+" & valsaisie
Else
Target.Formula = "=" & valsaisie
End If
Application.EnableEvents = True
End If
End If
End Sub


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim m As String
m = InputBox("mot de passe ???")
If m <> "a" Then Cancel = True
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$I$5" And Target.Value = "" Then
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
MsgBox "Vous ne devez pas effacer la valeur, mais la remplacer"
End If
End Sub
 
C

Compte Supprimé 979

Guest
Re : Interdire l'utilisation des touches suppr et del dans une cellule

Re,

Normal tu as déjà une sub Wroksheet_Change
Si tu ne nous dis pas tout :rolleyes:

Il faut remplacer, enfin je pense, ton ancien code par celui-ci
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Intersect([I4:I300,K4:K300,U4:U300], Target) Is Nothing Or Target.Count > 1 Then Exit Sub
  If Target <> "" Then
    Application.EnableEvents = False
    valsaisie = Target
    Application.Undo
    If Left(Target.Formula, 1) = "=" Then
      Target.Formula = Target.Formula & "+" & valsaisie
    Else
      Target.Formula = "=" & valsaisie
    End If
    Application.EnableEvents = True
  Else
    Application.EnableEvents = False
    Application.Undo
    Application.EnableEvents = True
    MsgBox "Vous ne devez pas effacer la valeur, mais la remplacer"
  End If
End Sub


Et dis nous
A+
 
Dernière modification par un modérateur:

jujulebiker85

XLDnaute Nouveau
Re : Interdire l'utilisation des touches suppr et del dans une cellule

niquel c'est presque parfait bravo peux tu me rajouter un mot de passe pour activer la touche suppr par mot de passe?

à cette suite de maccro il me manque plus qu'une formule pour interdire les lettres dans des cellules par exemple I4 àI300 je pense qu'il faut remplacer le "for each cell in target"

Private Sub Worksheet_Change(ByVal Target As Range)
For Each cell In Target
If Not IsNumeric(cell) Then
MsgBox "Saisie incorrecte . "
Application.Undo
End If
Next
End Sub
 
C

Compte Supprimé 979

Guest
Re : Interdire l'utilisation des touches suppr et del dans une cellule

Salut,

Voici le code avec le mot de passe et la saisie non numérique
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim ValSaisie As Variant
  If Intersect([I4:I300,K4:K300,U4:U300], Target) Is Nothing Or Target.Count > 1 Then Exit Sub
  ' Si la valeur saisie n'est pas vide
  If Target <> "" Then
    ' Si la saisie c'est faite dans les cellule I4:I300 et que la valeur saisie n'est pas numérique
    If Not Intersect([I4:I300], Target) Is Nothing And Not IsNumeric(Target) Then
      Application.EnableEvents = False
      Application.Undo
      Application.EnableEvents = True
      MsgBox "Saisie incorrecte, numérique uniquement !"
    Else
    ' Sinon on continue normalement
    Application.EnableEvents = False
    ValSaisie = Target
    Application.Undo
    If Left(Target.Formula, 1) = "=" Then
      Target.Formula = Target.Formula & "+" & ValSaisie
    Else
      Target.Formula = "=" & ValSaisie
    End If
    Application.EnableEvents = True
    End If
  Else
    ' Si tentative de suppression de la cellules
    ' Demander le mot de passe qui est : toto
    If InputBox("Merci de saisir le mot de passe pour suppression", "SUPPRESSION ...") <> "toto" Then
      Application.EnableEvents = False
      Application.Undo
      Application.EnableEvents = True
      MsgBox "Vous ne devez pas effacer la valeur, mais la remplacer"
    End If
  End If
End Sub

A+
 

jujulebiker85

XLDnaute Nouveau
Re : Interdire l'utilisation des touches suppr et del dans une cellule

ya un beug ok pour ne pas supprimer une cellule par contre si je séléctionne plusieurs celule en faisant ctrl et clique souris et j'appuie sur la touche suppr et la tous s'éfface en gros par plusieurs on peux les effacer...
 

jujulebiker85

XLDnaute Nouveau
Re : Interdire l'utilisation des touches suppr et del dans une cellule

avez vous une solution pour ce petit bug:

ya un beug ok pour ne pas supprimer une cellule par contre si je séléctionne plusieurs celule en faisant ctrl et clique souris et j'appuie sur la touche suppr et la tous s'éfface en gros par plusieurs on peux les effacer...
 

Staple1600

XLDnaute Barbatruc
Re : Interdire l'utilisation des touches suppr et del dans une cellule

Bonjour à tous

Juste pour infos:
Avec Excel, il est interdit d'interdire comme y disait y'a 44 ans...
Car on peut toujours ouvrir un classeur en désactivant les macros.
Ce qui permet d'inhiber cette interdiction.

Mais pour si tu persistes néanmoins et pour répondre à ta dernière question, ajoute ceci en début de code:
If Target.Count > 1 Then Exit Sub
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 677
Messages
2 090 820
Membres
104 676
dernier inscrit
akram1619