Bonsoir à tous,
La solution pour implémenter une progress bar sur une macro quelconque n'est finalement... pas si simple que cela (je vois plein de démo avec des boucles inclus dans un userform mais pour relier une progress bar à une macro quelconque, c'est nettement moins intuitif (non?)).
Ici une proposition beaucoup plus simple et clairement par défaut en utilisant statusbar qui donne l'avancement (% progression) et un timer dans le statusbar progressif, ce qui complète le très habituel msgbox format (timer - t0...).
Le code principal n'est pas ralenti non plus.
dtstart = Now
....
Application.ScreenUpdating = False
....
For i = 2 To derLigne
Application.StatusBar = "macro is running..." & Round((i / derLigne * 100), 0) & "%" & " " & Format(Now - dtstart, "ss") & ".sec"
......
Next i
Application.ScreenUpdating = True
Application.StatusBar = ""
@+
zebanx