Bonjour,
J'ai une macro ne comportant pas de boucle, qui prend environ une minute à s'exécuter. Elle consiste à ouvrir successivement 3 fichiers de données et à prendre dans chaque fichier la donnée pour les copier dans le fichier principale (dans lequel cette macro se trouve).
Comment faire pour inscrire une barre de progression alors que la macro n'a pas de boucle ? Je recherche une solution simple.
Bonjour Egruat,
La bonne question est pourquoi cela met une minute pour ouvrir trois fichiers et y picorer quelques datas ?
Sinon peut être pouvez vous utiliser le Statusbar, en faisant entre chaque fichier :
VB:
Application.StatusBar ="Traitement du fichier x"
.
Ce n'est pas un progressbar mais vous permet de voir où vous en êtes.
Merci de votre réponse. Car il y a beaucoup de données.
La macro efface la base de donnée globale, puis additionne les données de 3 fichiers différents, puis ajoute des colonnes de calcul.
Je cherche à avoir une barre de progression qui puisse tenir compte de l'avancée des différentes actions de la macro. Mais les exemples de Barre de progression sont axés sur une macro ayant une boucle, ce qui n'est pas mon cas.
Bonjour.
J'ai un UFmProg qui affiche une barre d'avancement par exécution d'une procédure Tâche où on indique le nombre d'opérations élémentaires à effectuer. Une procédure OùÇaEnEst doit ensuite être invoquée autant de fois que ce nombre, mais je n'ai jamais dit que ces invocations devaient obligatoirement être dans une boucle, bien que ce soit le plus souvent le cas.
Bonjour.
J'ai un UFmProg qui affiche une barre d'avancement par exécution d'une procédure Tâche où on indique le nombre d'opérations élémentaires à effectuer. Une procédure OùÇaEnEst doit ensuite être invoquée autant de fois que ce nombre, mais je n'ai jamais dit que ces invocations devaient obligatoirement être dans une boucle, bien que ce soit le plus souvent le cas.
Bonjour.
Glissez/déplacez l'UFmProg vers le projet VBA de votre classeur, et il sera opérationnel.
Ah, pas tout à fait: il a aussi besoin des modules de classe Planification et Rythmeur, lesquels utilisent les modules standard MPlanificateur et MRythmeur. Glissez déplacez aussi ces quatres noms dans l'explorateur de projets. L'essentiel c'est que ce soit très simple à utiliser dans le module utilisateur, non ?
Le l'ai fait dans un nouveau classeur et lancé cette procédure :
VB:
Sub Test()
UFmProg.Tâche "Essai", 3
Application.Wait Now + TimeSerial(0, 0, 1)
UFmProg.OùÇaEnEst
Application.Wait Now + TimeSerial(0, 0, 1)
UFmProg.OùÇaEnEst
Application.Wait Now + TimeSerial(0, 0, 1)
UFmProg.OùÇaEnEst
End Sub
Vous devriez quand même joindre des modèles de vos 4 fichiers.
Il ne semble que même s'il y avait 10000 lignes dans chacun des 3 fichiers de données, j'arriverais à synthétiser un tableau global en quelques secondes.