T takeiteasy XLDnaute Nouveau 14 Juin 2009 #1 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
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 14 Juin 2009 #2 Re : forcer l'affichage Bonjour, takeiteasy à dit: Pour le moment l'affichage ne se fait qu'une fois la boucle terminée Cliquez pour agrandir... Pas du tout, mais ça va si vite que l'on ne voit que la valeur finale. Exécuter par exemple : Code: Private Sub CommandButton1_Click() For t = 1 To 5000 UserForm1.Label1.Caption = t If t = 1000 Then Exit For Next t End Sub A+ Vote positif 0 Vote négatif
Re : forcer l'affichage Bonjour, takeiteasy à dit: Pour le moment l'affichage ne se fait qu'une fois la boucle terminée Cliquez pour agrandir... Pas du tout, mais ça va si vite que l'on ne voit que la valeur finale. Exécuter par exemple : Code: Private Sub CommandButton1_Click() For t = 1 To 5000 UserForm1.Label1.Caption = t If t = 1000 Then Exit For Next t End Sub A+
job75 XLDnaute Barbatruc 14 Juin 2009 #3 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) ? A+ Vote positif 0 Vote négatif
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) ? A+
myDearFriend! XLDnaute Barbatruc 14 Juin 2009 #4 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, Vote positif 0 Vote négatif
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,
Cousinhub XLDnaute Barbatruc 14 Juin 2009 #5 Re : forcer l'affichage Bonjour, Bonjour Didier et Job ou peut-être Repaint? Code: Private Sub CommandButton1_Click() For t = 1 To 1000 Me.Repaint UserForm1.Label1.Caption = t Next t End Sub Vote positif 0 Vote négatif
Re : forcer l'affichage Bonjour, Bonjour Didier et Job ou peut-être Repaint? Code: Private Sub CommandButton1_Click() For t = 1 To 1000 Me.Repaint UserForm1.Label1.Caption = t Next t End Sub
job75 XLDnaute Barbatruc 14 Juin 2009 #6 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: 14 Juin 2009 Vote positif 0 Vote négatif
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+
T takeiteasy XLDnaute Nouveau 14 Juin 2009 #7 Re : forcer l'affichage Merci à tous.. la solution Doevents fonctionne parfaitement Vote positif 0 Vote négatif