APPLICATION.ENABLEEVENTS=FALSE

Dans quel cas faut-il utiliser EnableEvents=False dans une macro ?

Imagine que tu veuilles déclencher une macro qui incrémente un compteur en A1 lorsque tu changes une valeur sur la même feuille.
Pour automatiser lachose, tu mets ta macro dans l'événement worksheet_change() de la feuille en question.

Le problème c'est que lorsque tu incrémentes ton compteur en A1, cela déclenche la macro qui boucle donc sans fin.
L'instruction
Application.EnableEvents=False
te permet de désactiver temporairement les macros événementielles.
Mais il ne faut pas oublier de réactiver les événements en fin de macro !

Application.EnableEvents=False
range("A1")=range("A1")+1
Application.EnableEvents=True

Auteur :

Mots clefs associés à cette page : ,