GNT sans publicité, site mobile, fonctionnalitées exclusives...

Gestion d'évènements

Le
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
Lire les 2 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Rai
Le #1940226
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




Bruno LOUIS
Le #1940225
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"
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




Publicité
Suivre les réponses
Poster une réponse
Anonyme