Re: => DOUBLE DEMO ProgressBar Dans StatusBar et UserForm....
SAlut SElab et le Forum
C'est normal que tu galères, vite fait en direct de mon café, je regardais ton code... Comme je disais plus haut :
Une barre de progression s'indexe et s'incrémente en fonction d'une boucle, ou de plusieurs à la condition que celles-ci soient hiérarchisées.
... Et ce n'est pas le cas !
Je distingue 5 Boucles non Hiérarchisées et donc indépendantes à la queue :
Boucle AAA) :
For j = 0 To 5
For Each Cellule In Range("D5
5,S5:AB5,AE5")
For i = 0 To NbLignes - 1
Next i
Next Cellule
Next j
Boucle BBB):
For j = 0 To 5
For Each Cellule In Range("D51
51,S51:AB51,AE51")
For i = 0 To NbLignes - 1
Next i
Next Cellule
Next j
Boucle CCC):
For j = 0 To 5
For Each Cellule In Range("D110
110,S110:AB110,AE110")
For i = 0 To NbLignes - 1
Next i
Next Cellule
Next j
Boucle DDD):
For j = 0 To 5
For Each Cellule In Range("D156
156,S156:AB156,AE156")
For i = 0 To NbLignes - 1
Next i
Next Cellule
Next j
Solutions... (Suis pas réveillé, moi aussi couché à plus de 2:00 du Mat!)
111) On reprends totalement ce prog, pour voir si on peut faire tout en une boucle massive... (Même pas regardé ce qu'il est sensé faire ce code !)
222) on fait cinq petite progressbar (dans le principe Label sur Userform, ou/et dans la StausBar, comme dans ma démo)
333) La solution 222 mais avec une Double barre de progression, qui reprendrait 5 fois une petite Progressbar, mais qui contiendrait une autre ProgressBar avec 5 sections, affichant 20% Effectué... 40% Effectué... 60% Effectué... Etc...
Remarque : la soluce 333) sera lourde pour un petit PC... Et vu que le code et déjà lourd en lui-même (et en plus ce n'est qu'un extrait....)
As tu essayé simplement (évidemment y pas la "frime" mais çà informe le User) ce que je t'avais proposé :
'>>Top de Macro
oldStatusBar = Application.DisplayStatusBar
Application.DisplayStatusBar = True
'>>Fin de Boucle AAA
Application.StatusBar = "20% Effectué."
'>>Fin de Boucle BBB
Application.StatusBar = "40% Effectué."
'....Blah Blah Blah IDEM pour les 3 autres boucles...
'Fin de Macro
Application.StatusBar = False
Application.DisplayStatusBar = oldStatusBar
C'est ce que je ferai si j'avais si peu de ressource... (Demande à ton boss de te mettre au moins 128 de RAM .... 256 serait pas un luxe, au prix où la RAM est maintenant...)
Voilà, en espèrant bien t'orienter tout en étant dans le comma !
Bonne Journée
@+Thierry