Interdiction d'écrire dans une plage nommée

Bonjour le forum,

Je bloque depuis des jours sur ce problème : j'ai une plaque nommée Zone de saisie ou il est interdit d'écrire, jusque là tout va bien mais depuis que j'ai introduit une autre instruction ""Application.OnKey Key:="{DELETE}", procedure:=Application.EnableEvents = False" cela annule ma protection dans la Zone de saisie quand je fais DELETE dans cette zone.

Rien d'étonnant évidemment, mais est-il possible d'interdire quand même de faire DELETE dans cette Zone de saisie . Je joins un fichier pour compréhension.

Merci de votre aide si cela est possible bien sûr !

Bonjour Merinos

Quel besoin de gérer une telle interdiction

Ou est défini l'objet TOUCHE

Ou est défini l'événement DELETE?

Je pense Que ce Que tu veux faire, est un standard

Salut à tous,

Application.ScreenUpdating = False

Null besoin de cela pour effacer une plage de cellules...

    If Intersect(Target, Range("ZoneDeSaisie")) Is Nothing Then
       Application.EnableEvents = False 'Empêcher une boucle d'événements
       Application.Undo                 'Annuler le changement
       Application.EnableEvents = True  'Très important de réactiver
    End If
  • As-tu bien vérifié la condition ?
  • De plus mettre le Application.EnableEvents dans une boucle peut générer des erreurs inattendues, en cas de plantages. Tu dois au minimum le gérer dans une gestion d'erreurs.
Touche_DELETE

Il est vrai que ce n'est pas un bon nommage pour une procédure cela peut prêter à confusion.

Rechercher des sujets similaires à "interdiction ecrire plage nommee"