Bonjour.
Terminez d'abord votre programmation, parce que je crois me rappeler que vous aviez commencé une boucle et que vous ne l'aviez pas terminée.
Mettez la au point jusqu'à ce qu'elle tourne.
Ensuite seulement devant le For vous ajoutez Tâche "Titre", NombreDePassagesPrévusDansLaBoucle, "opé"
Enfin juste avant le Next mettez Call OùÇaEnEst
(ne mettez évidemment pas NombreDePassagesPrévusDansLaBoucle, mettez le nombre de passage prévus dans la boucle. Pour un For I = Idéb To Ifin c'est Ifin-Idéb+1)
Le "opé" est utilisé dans la barre d'activité rouge: 123 opé/sec.
Sinon je vous demandais si vous préfèreriez qu'il n'y ait pas d'autre fourniture toute faite que l'UFmBarProg, donc pas de module MBarreProg en plus, quitte à devoir écrire plutôt
UFmBarProg.Init Texte, NbrPrévus, Unités au lieu de Tâche Texte, NbrPrévus, Unités
et UFmBarProg.Boucle au lieu de Call OùÇaEnEst
Remarque. l'UFmBarProg a bien évidemment sa propriété ShowModal à False.
De plus il effectue des DoEvents à la fin des méthodes liées à la mise à jour de son affichage.
Il s'en suit qu'un code suivi de cette façon devient plus ou moins de fait une tâche de fond.
Veillez quand même à ce que des manœuvres effectuées dans Excel pendant ce temps ne puisse pas provoquer une réexécution de votre macro avant qu'elle ne soit terminée.