progressebar pour déroulement d'une macro qui en contient elle même plusieurs

  • Initiateur de la discussion Initiateur de la discussion nicobart
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

nicobart

XLDnaute Nouveau
Bonjour à tous,

j'ai un fichier qui contient une macro assez longue (comprenant elle aussi plusieurs macros et sous macros à l'interieur) (temps de traitement de la macro = 2').

même en ayant fait du ménage sur ce fichier je n'ai pas réussi à le rendre assez petit pour l'envoyer. Je vais donc essayer d'expliquer mon problème assez clairement.

je cherche à utiliser une progressbar qui montre le déroulement de cette macro pour avertir l'utilisateur du niveau d'avencement lorsque j'appuie sur un bouton.

J'ai récupéré sur internet un fichier (ci-joint) qui comporte une progressbar qui fonctionne (barreprogression.xls).
J'aurais aimé l'adapter à (mon fichier.xls)

Apparemment, il faut une boucle (for,,,,next) pour que la progressbar puisse fonctionner et je ne sais pas comment définir cette boucle vu que ma macro contient plusieurs macros.


J'espère avoir été assez clair dans mes explications.
ex :

sub macro1 ()
macro2
macro3
macro4
macro5
end sub

les macros 2 3 4 5 sont très diversifiées (certaines peuvent parfois déjà contenir des boucles, d'autres pas, certaines font de la mise en formes, d'autres de la création de feuilles et d'objets,,,,,,)

Merci d'Avance
 

Pièces jointes

Re : progressebar pour déroulement d'une macro qui en contient elle même plusieurs

Bonjour nicobart

Personnellement, j'utilise une astuce pour mes progressar, ne sachant pas trop bien m'en servir.

Quand je lance mon USF, j'initialise la valeur à 0, et le max est "compté".
Pourquoi compter ? à chaque fois que j'appelle une procédure ou une fonction (ou aussi à chaque fois que tu boucles dans un code, mais si tu utilises des boucles non prédéfinies, c'est super chiant), tu incrémentes ta progressbar de 1.

A la fin de ton programme, la progressbar a atteint la bonne valeur, et voila 🙂

C'est du bidouillage (monstrueux certes), mais ça marche, et pour des utilisateurs lambda, l'illusion est parfaite 🙂

Cordialement,
Thomas
 
Re : progressebar pour déroulement d'une macro qui en contient elle même plusieurs

je te remercie de ta réponse, je vais essayer de travailler sur cette piste.
Aurais-tu par hasard un exemple concret pour m'eclairicir un peu plus.
Merci encore.

Cordialement
Nicolas
 
Re : progressebar pour déroulement d'une macro qui en contient elle même plusieurs

Re.

Concret, non, mes programmes sont trop lourds pour être postés ici.

En gros, dans mes programmes, je me sers d'un bouton pour ma procédure principale.
Donc à chaque fois que j'ai besoin de faire une action spécifique ou calculer un résultat par rapport à une fonction donnée, j'appelle une procédure ou une fonction.

En code, ça donne quelque chose comme ça

Code:
Private sub userform_initialize()
with pgb1
     .min = 0
     .value = 0
     .max = 6
end with
end sub

private sub cmdButton1_clik()
Call procédure1
pgb1.value = pgb1.value + 1
Call procédure2
pgb1.value = pgb1.value + 1
Call procédure3
pgb1.value = pgb1.value + 1
Call procédure4
pgb1.value = pgb1.value + 1
monResultat = Fonction1
pgb1.value = pgb1.value + 1
monResultat = Fonction2
pgb1.value = pgb1.value + 1
end sub

Le nombre d'appel dans ma procédure principale étant égal à 6, la propriété max de ma pgb est égal à 6.
C'est du comptage manuel 🙁

J'espère que cela t'aidera 🙂
Thomas
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour