Données/Validation vs Worksheet_Change

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

Charly2

Nous a quittés en 2006
Repose en paix
Bonsoir à toutes et à tous 🙂

Pour le premier fil que je crée, j'espère obtenir quelques éclaircissements 😉

Il y a peu, j'ai eu le plaisir de dépanner quelqu'un sur ce forum, d'ailleurs MichelXld y a également apporté sa contribution ; voir fil : Ce lien n'existe plus

Une procédure Change a été créée pour demander la confirmation de la saisie dans 2 cellules. Nous avions pour ce faire un fichier exemple. Lorsque le fichier réel a été envoyé pour mise au point, j'ai foncé la tête dans le guidon sans faire attention que sur une des 2 cellules concernées, il y avait déjà une validation des données.

Je vous joins un fichier exemple pour que vous compreniez mieux ce que je dis.

Dans une cellule verrouilée par Données/Validation et testée lors de la procédure Worksheet_Change, le comportement d'excel devient bizarre en cas d'erreur de saisie.

En effet, si la saisie est 'validée', l'événement Change est appelé 1 fois (logique). Par contre, c'est là que je n'y comprend plus rien, si l'utilisateur commet des erreurs en saisissant 2 fois de données erronées (et en cliquant sur 'répéter' à chaque erreur), puis 1 donnée valide, l'événement Change est appelé 5 fois !!! ??? :S

Je sais bien qu'il suffit d'effacer la validation des données et de placer le test dans l'événement Change, mais je ne comprends pas les 5 appels à Change alors que 3 valeurs seulement ont été entrées dans la cellule :silly:

En espérant avoir été clair 🙂
[file name=ValidationEtChange.zip size=8720]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ValidationEtChange.zip[/file]

Edition : Oups, la question ! Quelqu'une ou quelqu'un a-t-il un explication ou s'agit-il d'un bug d'XL ???


Message édité par: Charly2, à: 17/01/2006 21:09

A+

Message édité par: Charly2, à: 17/01/2006 21:34
 

Pièces jointes

Bonjour Charly2, le forum,

Lorsque tu entres une donnée éronnée, la procédure change est appelée 2 fois.
La première quand tu entres la 'mauvaise' valeur. Puis la deuxième quand on précise 'Annuler' sur le message d'avertissement de la liste de validation car la valeur retourne à son état d'origine.

Maintenant, comme la variable 'NbChange' est définie au niveau de la feuille, elle ne se réinitialise pas. D'un essai à l'autre, elle conserve sa valeur.
D'où après deux entrées de 'fausses valeurs' plus une bonne = 5 changements ((2 x 2) + 1).

Mets un espion au niveau de la ligne 'If Target.Address = '$A$4' Then' puis avance pas à pas (F8).


C'est, en tous cas, comme ça que j'interprète le truc.

Abel.
 
Bonjour Abel, bonjour à toutes et à tous 🙂

C'est limpide et ceci explique cela. Je ne l'avais pas compris de cette façon au départ mais hier soir, Didier_mDF m'a donné la même explication que la tienne.

Autrement, pour la variable NbChange, je l'ai déclarée ainsi pour connaître le nombre d'appels à la procédure.

Un très grand merci pour ta réponse 🙂

A+
 
- 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

Réponses
12
Affichages
1 K
Retour