Sub testzz()
Dim debut&, fin&, i&
debut = 386 'debut de la boucle
fin = 20000 'limite de la boucle
For i = debut To fin 'boucle de 386 a 20000
progress3 debut, fin, i
DoEvents 'autorise d'autres action pendant la boucle mais ralenti la boucle(testez bloqué et débloqué)
Next
End Sub
Sub progress3(debut, fin, i)
Dim a&, StringBar$, longBar&
longBar = 75'longueur de la bar de progression en terme de caractère
a = Round((i - debut) / (fin / longBar)) 'calcul index(situation bar) par rapport à i en fonction du début différent de 1 et de fin divisée par la longueur de barre
StringBar = String(a, Chr$(8)) & String(longBar - (a), Chr$(6)) 'création du string
Application.StatusBar = " << |||" & StringBar & "||| >> " & Int((a + 0.0001) * 100 / longBar) & " % EFFECTUE""" ' le (((0.0001))) c'est pour éviter le division par zero
End Sub