Quand j'active mon plotter, il doit s'initialisez (env 30sec). Pendant ce temps j'aimerais juste afficher un UserForm qui indique que nous devons patienter et qui se retire une fois l'initialisation du plotter terminé.
Mon problème est que:
Si je dis à VBA d'initialiser le plotter et ensuite d'ouvrir le userform, le userform s'ouvre au bout des 30 sec. A l'inverse si je dis d'ouvrir le userform d'abord alors la suite du code s'exécute une fois le userform fermé.
Avez-vous une idée de comment je puisse résoudre ou contourner ce problème ? Merci.
@Aurelien : En macro il est déconseillé d'utiliser des ProgressBar. En effet pour qu'elle fonctionne correctement il faudrait une gestion multithread (gestion de plusieurs taches en même temps). Car si non la barre "freeze" pendant l'éxécution de la macro et ne sert donc à rien.
C'est exactement le problème que j'ai avec mon plotter, il me faudrait par exemple que mes deux userforms s'ouvrent en même temps.
Merci
Edit:
Ah je viens de voir le message de .PL, je ne savais pas qu'il existait la méthode "_activate", je connaissais "_initialize" pour excel mais ça ne fonctionnais pas sur SW ou alors j'avais fait une erreur. Je vous retient au courant merci !
Edit2:
Ca ne fonctionne pas. Pourrais-je vous demandez de tester votre solution sur la macro que j'ai mis en téléchargement ? Afin de savoir si c'est moi qui ai fait une erreur. MErci
Pour résumer, DoEvents permet d'attendre qu'une action soit totalement terminée avant de poursuivre la procedure.
Donc ça permet de mettre en pause le programme d'une façon propre et ne pas tourner dans le vide en surchargeant le processeur avec des calculs inutiles pour attendre.