Bonjour à tous !
Je suis en train de développer une macro VBA qui doit fonctionner de concert avec des validations de données de type liste.
Pour expliquer simplement, je paramètre une validation de données sur une cellule que l'utilisateur doit remplir et la liste déroulante associée doit adapter ses propositions en fonction de ce que l'utilisateur saisit (un peu à la manière d'une auto-complétion).
Je passe donc par un appel à l'écouteur d'évènement Worksheet_change afin de modifier dynamiquement la liste, stockée dans une autre feuille, qui est ensuite référencée par la validation de données.
Ce mécanisme fonction bien sauf dans un cas, à savoir si l'utilisateur commence à saisir dans la cellule en question et, sans clôturer sa saisie par appui sur Entrée, clique sur la flèche de la liste déroulante. Si l'utilisateur valide sa saisie puis déroule la liste dans un second temps, pas de problème. Mais dans le premier cas, la macro plante sur le premier appel à une fonction Range et indique l'erreur suivante :
J'ai trouvé de nombreuses références sur le net concernant ce problème pour des possibles résolutions mais rien de satisfaisant en lien spécifiquement avec la validation des données. Pour le moment, je n'ai réussi qu'à stopper l'exécution par une gestion d'exception On Error afin d'éviter la fenêtre de bug mais c'est un peu près tout...
Auriez-vous une solution pour prendre en charge ce cas ?
Merci par avance pour votre aide !
Jean
Partager