OVH Cloud OVH Cloud

Gestion d'évènements

2 réponses
Avatar
Bruno LOUIS
Bonjour,

Par extension à une question posée sur ce forum, je souhaiterais savoir si
il est possible de demander à Excel de ne pas réagir à ses propres
évènements.

Exemple : Une macro modifie le contenu d'une cellule, aussitôt Excel lance
l'évènement WorkSheet_Change.

L'option EnableEvents bloque tous les évènements y compris ceux de
l'utilisateur. En fait, je me demande s'il existe une espèce d'option
UserInterfaceOnly pour la gestion des évènements. Cela permettrait d'éviter
des boucles sans fin dans des codes parfois 'hasardeux'.

Merci de vos remarques.

Bruno

2 réponses

Avatar
Rai
Salut,

et si tu désactivais la gestion des évènements en entrée de macro, et
les rétablissais avant d'en sortir ?

Sub test()
Application.EnableEvents = False
'ton code
'qui change des données sur tes feuilles
'.....
'
Application.EnableEvents = True
'ton code qui a besoin des évènements
'...
End Sub

Bonne journée

Rai


Bonjour,

Par extension à une question posée sur ce forum, je souhaiterais savoir si
il est possible de demander à Excel de ne pas réagir à ses propres
évènements.

Exemple : Une macro modifie le contenu d'une cellule, aussitôt Excel lance
l'évènement WorkSheet_Change.

L'option EnableEvents bloque tous les évènements y compris ceux de
l'utilisateur. En fait, je me demande s'il existe une espèce d'option
UserInterfaceOnly pour la gestion des évènements. Cela permettrait d'éviter
des boucles sans fin dans des codes parfois 'hasardeux'.

Merci de vos remarques.

Bruno




Avatar
Bruno LOUIS
C'est effectivement comme cela que je procède actuellement, avec en plus une
gestion d'erreurs pour gérer les sorties intempestives.

Il serait plus simple de ne plus avoir à gérer les événements de la machine.

J'ai cherché, mais je ne trouve aucune solution à ce problème.


"Rai" a écrit dans le message de news:

Salut,

et si tu désactivais la gestion des évènements en entrée de macro, et les
rétablissais avant d'en sortir ?

Sub test()
Application.EnableEvents = False
'ton code
'qui change des données sur tes feuilles
'.....
'
Application.EnableEvents = True
'ton code qui a besoin des évènements
'...
End Sub

Bonne journée

Rai