Bonjour,

Dans mon form j'ai un progressbar1

Donc elle a comme attribues:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
~~
ProgressBar1.Minimum = 0
Charg.ProgressBar1.Maximum = 100  '100%
~~
Dans ma sub je détermine la valeur maxi du traitement et j'ai un incrément.

Donc

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
~~
valbar = 10 'le 10 est obtenu via un boucle, la je fais rapide...
~~
Charg.ProgressBar1.Value = (valI * 100) / valbar
valI += 1
~~
dans mon form j'ai mon progressbar1 + 3 label

label1 = valI 'valeur de I
label2 = 100 '100%
label3 = valeur de progressbar1

donc a la fin de mon traitement les label sont tous a 100...

mais le problème c'est que la barre n'est pas remplis comme si elle s'était arrêter a 60% ou 70% comment rafraichir correctement, j'ai pu constater qu'en ralentissent le traitement mettre 1scd de pause entre chaque boucle c'était nickel mais si j'ai 1000 incrément ca va faire long...

J’ai essayer ça:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
~~
Charg.ProgressBar1.Value = (valI * 100) / valbar
valI += 1
Application.DoEvents()
~~
Ou ça:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
~~
Charg.ProgressBar1.Value = (valI * 100) / valbar
valI += 1
Delay(0.2) ' sub qui fait une pause
Application.DoEvents()
~~
Mais c pareil il faut que je mette Delay(1) pour que ca marche ?

Ya t'il un moyen de forcer l'affichage?

Merci