Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

  • Initiateur de la discussion Initiateur de la discussion jujulebiker85
  • 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 !

J

jujulebiker85

Guest
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...
 
Re : Interdire l'utilisation des touches suppr et del dans une cellule


ça ne mache pas je peux toujours supprimer le contenu des cellules en en séléctionnant plusieurs
 
Re : Interdire l'utilisation des touches suppr et del dans une cellule

Re


Je viens de voir que ce que je proposais était déjà implémenter par BrunoM45 (que je salue au passage)
Code:
If Intersect([I4:I300,K4:K300,U4:U300], Target) Is Nothing Or Target.Count > 1 Then Exit Sub
 
Re : Interdire l'utilisation des touches suppr et del dans une cellule

Re

ATTENTION DANGER
Essayes de voir ce que tu peux faire en suivant cette piste
Code:
Sub DesactiveSUPPR()
Application.OnKey "{DEL}", ""
End Sub
Code:
Sub ActiveSUPPR()
Application.OnKey "{DEL}"
End Sub
 
Re : Interdire l'utilisation des touches suppr et del dans une cellule

Il faut que je copie tes 2 codes au début de mon code? car je l'ai est essayer un par un et ca ne marche pas ca met met un message d'erreur
 
Re : Interdire l'utilisation des touches suppr et del dans une cellule

Re

essayes ces macros sur un classeur vierge
Lances la macro qui désactives la touche SUPPR
Saisis une valeur dans une cellule puis tape ENTER
sélectionnes cette cellule puis appuie sur SUPPR
Normalement la valeur n'est pas effacée.

PS: Si tu débutes en VBA, cette méthode risque d'être problématique.
Cette macro n'était qu'une piste à suivre.
Pas une solution clé en mains.
 
Re : Interdire l'utilisation des touches suppr et del dans une cellule

enfaite ca marche bien pour empecher la suppression d'une cellule mais si avec la souris j'en séléctionne plusieurs la du coup j'arrive à les supprimer...
 
Re : Interdire l'utilisation des touches suppr et del dans une cellule

Bonjour le fil, le forum,

Il me semble qu'on tourne un peu en rond...

Voici une solution qui empêche l'effacement des nombres sur 3 plages.

Les valeurs sont mémorisées dans les noms définis Zone1 Zone2 Zone3.

Les macros dans le code de la feuille :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Memorise Target, [I4:I300], "Zone1"
Memorise Target, [K4:K300], "Zone2"
Memorise Target, [U4:U300], "Zone3"
End Sub

Sub Memorise(Target As Range, plage As Range, zone$)
If Intersect(Target, plage) Is Nothing Then Exit Sub
Dim i, cel As Range
Application.EnableEvents = False
For i = 1 To plage.Count
  Set cel = plage.Cells(i)
  If Not (Intersect(cel, Target) Is Nothing Or IsNumeric(cel.Formula)) _
    Then cel = Application.Index(Evaluate(zone), i)
Next
ThisWorkbook.Names.Add zone, plage.Formula 'mémorise
ThisWorkbook.Names(zone).Visible = False 'masquage facultatif
Application.EnableEvents = True
End Sub
Pour définir les 3 noms au début, dans ThisWorkbook :

Code:
Private Sub Workbook_Open()
Me.Names.Add "Zone1", [I4:I300].Formula
Me.Names.Add "Zone2", [K4:K300].Formula
Me.Names.Add "Zone3", [U4:U300].Formula
'---masquage facultatif---
Me.Names("Zone1").Visible = False
Me.Names("Zone2").Visible = False
Me.Names("Zone3").Visible = False
'---évite le message à la fermeture---
Me.Saved = True
End Sub
Fichier joint.

A+
 

Pièces jointes

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

ok mais je l'intègre comment avec mon autre maccro pour ne pas provoquer de beug?
 
Re : Interdire l'utilisation des touches suppr et del dans une cellule

Re,

J'ai intégré le code de votre macro Worksheet_Change (post #7) dans la mienne.

Sans oublier de déclarer la variable valsaisie.

Et j'ai modifié légèrement le test de la macro Memorise :

Code:
If Not (Intersect(cel, Target) Is Nothing Or IsNumeric(Evaluate(cel.Formula))) _
Fichier (2).

A+
 

Pièces jointes

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

impec j'ai réussi à l'intégrer à ma feuille dure dure lol peux tu me remettre les messages "text box" comme quoi il faut entrer une valeur numérique et ne pas supprimer
 
Re : Interdire l'utilisation des touches suppr et del dans une cellule

Re,

Je modifie aussi le code de votre macro :

Code:
If Not Intersect([I4:I300,K4:K300,U4:U300], Target) Is Nothing And Target.Count = 1 Then
  Dim valsaisie
  On Error Resume Next
  Application.EnableEvents = False
  valsaisie = Target
  Application.Undo
  Target = IIf(Target.HasFormula, Target.Formula & "+", "=") & valsaisie
  Application.EnableEvents = True
End If
Votre test If Target <> "" Then beuguait si l'on entrait une valeur d'erreur...

Fichier (3).

A+
 

Pièces jointes

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

j'aimerais remettre les messages

MsgBox "Saisie incorrecte, numérique uniquement !"
et
MsgBox "Vous ne devez pas effacer la valeur, mais la remplacer"

j'ai essayer de les réinserer mais il apparaisse tout le temp quand j'appuie sur n'importe quel touche
 
Re : Interdire l'utilisation des touches suppr et del dans une cellule

Re,

Voyez le fichier (4), je n'ai mis qu'un seul type de message, c'est bien suffisant.

Il a fallu remplacer On Error Resume Next par :

Code:
If IsNumeric(Evaluate(Target.Formula)) Then
A+
 

Pièces jointes

- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
489
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…