Neutraliser la routine Activate

Salut,

Je vous expose mon problème.

J'ai un UserForm ave ses macros associées qui comprend une routine UserForm_Activate(). Au cours d'une de ces macros, j'appelle un second UserForm, et à la fermeture de celui ci, je voudrais poursuivre l'exécution des macros du premier UserForm.

Mais dès la fermeture, c'est la routine UserForm_Activate() qui est relancée, et l'enchainement des macros du premier UserForm reprend au début.

J'ai essayé de mettre un Application.EnableEvents= False mais c'est visiblement pas la solution.

Si vous savez comment faire pour qu'à la fermeture de ce UserForm je reprenne là où j'en étais et pas au début, ça m'aiderait bien.

Merci d'avance.

Manu

Bonsoir,

On ne parle pas de routine dans ce cas mais de procédure d'évènement.

Si tu programmes l'évènement Activate d'un userform, c'est pour que cette proc. s'exécute à chaque affichage du Userform, sinon tu ne le fais pas !

Tu disposes de 2 évènements : Initialize qui s'exécute au chargement du Userform, avant son affichage, une seule fois tant que le Userform n'a pas été déchargé (Unload), et Activate qui s'exécute à chaque affichage. On jongle avec les deux selon besoins...

Application c'est Excel, interrompre les évènements de l'application n'a pas d'effet sur un Userform, Microsoft Forms n'est pas Excel !

Tu peux bloquer l'exécution de la procédure en la conditionnant à une variable booléenne de niveau module, si la variable est à True par exemple, la proc. n'est pas exécutée. Et tu mets cette variable à True ou à False selon tes besoins en cours de travail...

Cordialement.

Si tu programmes l'évènement Activate d'un userform, c'est pour que cette proc. s'exécute à chaque affichage du Userform, sinon tu ne le fais pas !

Oui mais dans on cas, je n''affiche pas le UserForm, j'ouvre un second en parallèle. Je pensais pas que la fermeture de ce 2e Userform allait lancer la procédure d'évènement du premier.

Tu disposes de 2 évènements : Initialize qui s'exécute au chargement du Userform, avant son affichage, une seule fois tant que le Userform n'a pas été déchargé (Unload), et Activate qui s'exécute à chaque affichage. On jongle avec les deux selon besoins...

Dans mon cas c'est un UserForm pour afficher une barre de progression, il me faut une procédure Activate pour la lancer.

Tu peux bloquer l'exécution de la procédure en la conditionnant à une variable booléenne de niveau module, si la variable est à True par exemple, la proc. n'est pas exécutée. Et tu mets cette variable à True ou à False selon tes besoins en cours de travail...

Merci je vais faire ça.

Manu

Rechercher des sujets similaires à "neutraliser routine activate"