bonjour,
@Stepaustras, un msgbox arrête la macro et n'a pas vraiement une valeur ajoutée. Moi, je préfère utiliser le statusbar pour montrer en même temps le progrès. La mise à jour de ce statusbar ne sera pas à chaque boucle, mais par exemple tout les 5 secondes. N'oubliez pas à vider ce statusbar après l'exécution de la macro.
Un exemple assez simple.
Dans le statusbar, on peut ajouter de l'information supplémentaire (ici par exemple le nom de la feuille, si ça vous sert à ...)
Sub vMercy()
Application.ScreenUpdating = False 'essayer avec True et False
cnt = Sheets.Count
For i = 0 To 100
If i > 1 Then Sheets((i - 1) Mod cnt + 1).Select
Application.Wait Now + TimeSerial(0, 0, 1) 'attendre 1 sec = pour évoquer une macro longue
If i Mod 4 = 0 Then
s = ActiveSheet.Name
Application.StatusBar = "Loop " & Format(i, "#,###") & " de 100 dans macro X, " & s: DoEvents 'de temps en temps une mise à jour pour savoir le progrès
End If
Next
Application.StatusBar = False 'RAZ du satusbar
End Sub