Dudu2
XLDnaute Barbatruc
Bonjour,
Malgré la lecture de la doc Microsoft je ne comprends toujours pas comment fonctionnent les "User Events". Et ça m'
!
Je voudrais sortir le code "fonctionnel" du TimerProc() d'un SetTimer() exéctuté lorsque le Timer se déclenche car cela pose des problèmes et génère des erreurs selon les cas. Donc dans le TimerProc() je voudrais déclencher un évènement (un "User Event") qui exécute le code fonctionnel hors de l'environnement Timer.
Edit:
J'y suis finalement arrivé (fichier joint) mais cela ne peut pas fonctionner à partir d'un Module standard car on ne peut pas y déclarer une Classe WithEvents.
Faut donc être déjà dans une Classe ou un UserForm. Et au final je ne vois pas l'intérêt du truc vu qu'on peut faire un Call direct au lieu d'un RaiseEvent. Sauf pour les déclenchements multiples comme dans l'exemple de @Dranreb ci-dessous.
De toutes façons, rien ne prouve qu'un artifice de ce genre éviterait les erreurs du TimerProc() d'un SetTimer().
Donc ce post est parfaitement inutile !
Sauf éventuellement pour l'exemple fourni ci-dessous et les exemples de Timer avec SetTimer() en Post #8 et Post #9.
Malgré la lecture de la doc Microsoft je ne comprends toujours pas comment fonctionnent les "User Events". Et ça m'
Je voudrais sortir le code "fonctionnel" du TimerProc() d'un SetTimer() exéctuté lorsque le Timer se déclenche car cela pose des problèmes et génère des erreurs selon les cas. Donc dans le TimerProc() je voudrais déclencher un évènement (un "User Event") qui exécute le code fonctionnel hors de l'environnement Timer.
Edit:
J'y suis finalement arrivé (fichier joint) mais cela ne peut pas fonctionner à partir d'un Module standard car on ne peut pas y déclarer une Classe WithEvents.
Faut donc être déjà dans une Classe ou un UserForm. Et au final je ne vois pas l'intérêt du truc vu qu'on peut faire un Call direct au lieu d'un RaiseEvent. Sauf pour les déclenchements multiples comme dans l'exemple de @Dranreb ci-dessous.
De toutes façons, rien ne prouve qu'un artifice de ce genre éviterait les erreurs du TimerProc() d'un SetTimer().
Donc ce post est parfaitement inutile !
Sauf éventuellement pour l'exemple fourni ci-dessous et les exemples de Timer avec SetTimer() en Post #8 et Post #9.
Pièces jointes
Dernière édition: