La touche "ECHAP" fait planter mon code

Bonjour à tous,

Je rencontre un problème avec la touche "Echap" qui plante mon code VB et passe en mode débogage si cette touche est utilisée pour sortir d'un message d'alerte entré dans un critère personnalisé de validation de données.

Voir "feuil5" du fichier ci-joint

Par avance merci pour votre aide

aalex85

Bonjour

Le fait que le code ne fonctionne plus après l'erreur sur l'instruction UNDO est logique car en fait lorsque le code buggue, tu as suspendu les événements deux lignes plus haut par instruction APPLICATION.ENABLEEVENTS = TRUE

A ne jamais faire car c'est tout ton programme excel qui n'acceptera plus les codes type événements Private Sub placés dans les feuilles

Vois la correction du code dans lequel je fais appel à une variable spécifique (OK dans le code) qui reste à TRUE jusqu'à ce que le code soit exécuté et repasse à FALSE à la fin du code

J'ai aussi modifié le Application.undo par Application.onkey

Si besoin d'autres explications, dis moi

Si ok, lors de ta réponse, veille à cliquer sur le V vert à coté du bouton EDITER pour clôturer le fil

Cordialement

Bonjour Dan,

Merci pour ta réponse ainsi que tes explications.

Je te confirme que le bug ne se produit plus

Par contre le programme n'est plus exécuté

Soit par exemple:

Si je modifie un nom de projet sur "feuil5" alors il doit être modifié sur toutes les feuilles dans lequel il apparaît

Si je supprime un nom de projet sur "feuil5" alors il doit être remplacé par un "/" sur toutes les autres feuilles ou il apparaissait

Ci-joint ton fichier dans lequel j'ai supprimé pour plus de clarté les anciens codes qui étaient en commentaires

Cordialement

aalex85

Re

Si je supprime un nom de projet sur "feuil5" alors il doit être remplacé par un "/" sur toutes les autres feuilles ou il apparaissait

Comment procèdes-tu pour faire cela ?

Essaie le code en désactivant cette ligne -> Application.OnKey "{ESC}": Exit Sub

A te relire

Bonjour Dan;

J'ai testé en en désactivant "Application. OnKey "{ESC}": Exit Sub,

mais malheureusement cela ne change rien, le code ne se déroule toujours pas.

En ce qui concerne ta question concernant le "/" je me suis fait aider pour ce bout de code car mes connaissances en VB sont celles d'un débutant...

Donc je vais avoir des difficultés à t'expliquer le déroulement de cette partie du code.

Cordialement

aalex85

re

Si le code se déroule mais rajoute ce que j'avais supprime --> "Application.Undo" juste après "TargetNew = Trim(Target)"

Crdlt

Dad,

Comme indiqué je viens de rajouter Application.Undo

Effectivement le code fonctionne mais du coup je retrouve le même problème qu'au début avec la touche "Echap" qui plante mon code VB et passe en mode débogage sur "Application.Undo" si cette touche est utilisée pour sortir du message d'alerte entré dans le critère personnalisé de validation de données sur les cellules C10 à C20 de la "feuil5" et qui est nécessaire pour empêcher l'utilisateur d'entrer deux fois le même nom de projet

Je joins le fichier que j'ai corrigé suivant tes indications au cas ou j'aurais fait une erreur.

Cdlt

aalex85

Re

Essaie comme ceci :

Avant Application.undo mets cette instruction --> On Error Resume Next

Après Application.undo mets cette instruction --> On Error GoTo 0 (Attention il s'agit du chiffre 0 et pas de la lettre)

A te relire

Crdlt

Super !

Cela fonctionne parfaitement, je vais pouvoir avancer sur mon projet

Un grand MERCI à "Dan" pour son aide

Cordialement

aalex85

Rechercher des sujets similaires à "touche echap fait planter mon code"