forcer l'affichage

takeiteasy

XLDnaute Nouveau
Bonjour,

Comment peut-on forcer l'affichage d'un compteur dans un label...du style

for t = 1 to 5000
userform1.label1.caption=t

' ici est l'évolution à surveiller

next t

Pour le moment l'affichage ne se fait qu'une fois la boucle terminée


merci d'avance
 

job75

XLDnaute Barbatruc
Re : forcer l'affichage

Re,

Autant pour moi, vous avez raison, j'ai exécuté cette macro :

Code:
Private Sub CommandButton1_Click()
For t = 1 To 10
Application.Wait Now + 1 / 86400
UserForm1.Label1.Caption = t
Next t
End Sub

On voit s'afficher 1, 2 parfois 3, parfois 4... puis 10.

Je ne sais pas pourquoi ça se passe ainsi. Une idée mdF (Didier) ? :confused:

A+
 

myDearFriend!

XLDnaute Barbatruc
Re : forcer l'affichage

Bonjour takeiteasy, job75 ;), le Forum,

A tester :
Code:
[COLOR=NAVY]Private Sub[/COLOR] CommandButton1_Click()
[COLOR=NAVY]Dim[/COLOR] t [COLOR=NAVY]As Integer
    For[/COLOR] t = 1 [COLOR=NAVY]To[/COLOR] 1000
        UserForm1.Label1.Caption = t
        [B]DoEvents[/B]
    [COLOR=NAVY]Next[/COLOR] t
[COLOR=NAVY]End Sub[/COLOR]
Cordialement,
 

job75

XLDnaute Barbatruc
Re : forcer l'affichage

Bonjour Didier, et merci :)

J'ai refait tourner ma macro (sans DoEvents) sur un nouveau classeur et là, presque tout le temps, tous les nombres s'affichent.

J'ai testé avec DoEvents, je n'ai pas vu de cas où il manque des nombres. A suivre...

Edit 1 : salut bh2, pas testé mais je suppose que ça doit être bien aussi...

Edit 2 : testé cette macro, avec Repaint l'affichage est incorrect :

Code:
Private Sub CommandButton1_Click()
For t = 1 To 100000
Me.Repaint
UserForm1.Label1.Caption = t
Next t
End Sub


A+
 
Dernière édition:

Statistiques des forums

Discussions
312 216
Messages
2 086 342
Membres
103 192
dernier inscrit
Corpdacier