J'ai une p'tit' question à soumettre à votre sagacité.
Mais avant, considérons ce qui suit:
Dans un UserForm, un label nommé lb et un bouton de commande nommé cmdGo
Dans le module de ce UserForm, j'ai écrit:
Private Declare Function GetTickCount Lib "Kernel32" () As Long
-----------------------------------------------------------------
Private Sub Pause(Duree As Long)
Dim Depart
Depart = GetTickCount
Do While GetTickCount < Depart + Duree
Loop
End Sub
-----------------------------------------------------------------
Private Sub cmdGo_Click()
Randomize
For j = 1 To 20
[E3] = Int(Rnd * 6) + 1
lb.Caption = [E3]
Pause (50)
Next j
End Sub
-----------------------------------------------------------------
Alors ma question: pourquoi voit-on défiler les chiffres dans la cellule de
la feuille excel et pas sur le label ? J'ai essayé d'inverser les deux
instructions d'affichage en écrivant:
lb.Caption = Int(Rnd * 6) + 1
[E3] = lb.caption
Le résultat est exactement le même. Seul le dernier chiffre généré apparaît
sur le label. Une pause plus longue n'arrange rien !
Merci d'avance pour vos réponses et merci aussi pour tout ce que j'apprend
en parcourant ce forum et les sites de certains d'entre vous !
Moustic, dit Dédé
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel.C
Bonjour.
Il faut repeindre to userform pour rafraîchir l'affichage.
Private Sub cmdGo_Click() Randomize For j = 1 To 20 [E3] = Int(Rnd * 6) + 1 lb.Caption = [E3] Me.Repaint Pause (5) Next j End Sub
Cordialement. Daniel
Salut tatous, par toutatis
J'ai une p'tit' question à soumettre à votre sagacité. Mais avant, considérons ce qui suit: Dans un UserForm, un label nommé lb et un bouton de commande nommé cmdGo Dans le module de ce UserForm, j'ai écrit:
Private Declare Function GetTickCount Lib "Kernel32" () As Long ----------------------------------------------------------------- Private Sub Pause(Duree As Long) Dim Depart Depart = GetTickCount Do While GetTickCount < Depart + Duree Loop End Sub ----------------------------------------------------------------- Private Sub cmdGo_Click() Randomize For j = 1 To 20 [E3] = Int(Rnd * 6) + 1 lb.Caption = [E3] Pause (50) Next j End Sub ----------------------------------------------------------------- Alors ma question: pourquoi voit-on défiler les chiffres dans la cellule de la feuille excel et pas sur le label ? J'ai essayé d'inverser les deux instructions d'affichage en écrivant:
lb.Caption = Int(Rnd * 6) + 1 [E3] = lb.caption
Le résultat est exactement le même. Seul le dernier chiffre généré apparaît sur le label. Une pause plus longue n'arrange rien !
Merci d'avance pour vos réponses et merci aussi pour tout ce que j'apprend en parcourant ce forum et les sites de certains d'entre vous ! Moustic, dit Dédé
Bonjour.
Il faut repeindre to userform pour rafraîchir l'affichage.
Private Sub cmdGo_Click()
Randomize
For j = 1 To 20
[E3] = Int(Rnd * 6) + 1
lb.Caption = [E3]
Me.Repaint
Pause (5)
Next j
End Sub
Cordialement.
Daniel
Salut tatous, par toutatis
J'ai une p'tit' question à soumettre à votre sagacité.
Mais avant, considérons ce qui suit:
Dans un UserForm, un label nommé lb et un bouton de commande nommé cmdGo
Dans le module de ce UserForm, j'ai écrit:
Private Declare Function GetTickCount Lib "Kernel32" () As Long
-----------------------------------------------------------------
Private Sub Pause(Duree As Long)
Dim Depart
Depart = GetTickCount
Do While GetTickCount < Depart + Duree
Loop
End Sub
-----------------------------------------------------------------
Private Sub cmdGo_Click()
Randomize
For j = 1 To 20
[E3] = Int(Rnd * 6) + 1
lb.Caption = [E3]
Pause (50)
Next j
End Sub
-----------------------------------------------------------------
Alors ma question: pourquoi voit-on défiler les chiffres dans la cellule de
la feuille excel et pas sur le label ? J'ai essayé d'inverser les deux
instructions d'affichage en écrivant:
lb.Caption = Int(Rnd * 6) + 1
[E3] = lb.caption
Le résultat est exactement le même. Seul le dernier chiffre généré apparaît
sur le label. Une pause plus longue n'arrange rien !
Merci d'avance pour vos réponses et merci aussi pour tout ce que j'apprend
en parcourant ce forum et les sites de certains d'entre vous !
Moustic, dit Dédé
Il faut repeindre to userform pour rafraîchir l'affichage.
Private Sub cmdGo_Click() Randomize For j = 1 To 20 [E3] = Int(Rnd * 6) + 1 lb.Caption = [E3] Me.Repaint Pause (5) Next j End Sub
Cordialement. Daniel
Salut tatous, par toutatis
J'ai une p'tit' question à soumettre à votre sagacité. Mais avant, considérons ce qui suit: Dans un UserForm, un label nommé lb et un bouton de commande nommé cmdGo Dans le module de ce UserForm, j'ai écrit:
Private Declare Function GetTickCount Lib "Kernel32" () As Long ----------------------------------------------------------------- Private Sub Pause(Duree As Long) Dim Depart Depart = GetTickCount Do While GetTickCount < Depart + Duree Loop End Sub ----------------------------------------------------------------- Private Sub cmdGo_Click() Randomize For j = 1 To 20 [E3] = Int(Rnd * 6) + 1 lb.Caption = [E3] Pause (50) Next j End Sub ----------------------------------------------------------------- Alors ma question: pourquoi voit-on défiler les chiffres dans la cellule de la feuille excel et pas sur le label ? J'ai essayé d'inverser les deux instructions d'affichage en écrivant:
lb.Caption = Int(Rnd * 6) + 1 [E3] = lb.caption
Le résultat est exactement le même. Seul le dernier chiffre généré apparaît sur le label. Une pause plus longue n'arrange rien !
Merci d'avance pour vos réponses et merci aussi pour tout ce que j'apprend en parcourant ce forum et les sites de certains d'entre vous ! Moustic, dit Dédé
moustic
Eh bien, cher Daniel, je ne m'attendais pas à devoir un jour faire de la painture pour afficher du "texte" mais c'est génial. Même en ne mettant que 5 milisecondes de pause, cà roule ! Je ne connaissais pas cette méthode. J'irai couché moins bête ce soir et merci pour la rapidité de ta réponse. Bonne journée Dédé
"Daniel.C" a écrit :
Bonjour.
Il faut repeindre to userform pour rafraîchir l'affichage.
Private Sub cmdGo_Click() Randomize For j = 1 To 20 [E3] = Int(Rnd * 6) + 1 lb.Caption = [E3] Me.Repaint Pause (5) Next j End Sub
Cordialement. Daniel
> Salut tatous, par toutatis > > J'ai une p'tit' question à soumettre à votre sagacité. > Mais avant, considérons ce qui suit: > Dans un UserForm, un label nommé lb et un bouton de commande nommé cmdGo > Dans le module de ce UserForm, j'ai écrit: > > Private Declare Function GetTickCount Lib "Kernel32" () As Long > ----------------------------------------------------------------- > Private Sub Pause(Duree As Long) > Dim Depart > Depart = GetTickCount > Do While GetTickCount < Depart + Duree > Loop > End Sub > ----------------------------------------------------------------- > Private Sub cmdGo_Click() > Randomize > For j = 1 To 20 > [E3] = Int(Rnd * 6) + 1 > lb.Caption = [E3] > Pause (50) > Next j > End Sub > ----------------------------------------------------------------- > Alors ma question: pourquoi voit-on défiler les chiffres dans la cellule de > la feuille excel et pas sur le label ? J'ai essayé d'inverser les deux > instructions d'affichage en écrivant: > > lb.Caption = Int(Rnd * 6) + 1 > [E3] = lb.caption > > Le résultat est exactement le même. Seul le dernier chiffre généré apparaît > sur le label. Une pause plus longue n'arrange rien ! > > Merci d'avance pour vos réponses et merci aussi pour tout ce que j'apprend > en parcourant ce forum et les sites de certains d'entre vous ! > Moustic, dit Dédé
Eh bien, cher Daniel, je ne m'attendais pas à devoir un jour faire de la
painture pour afficher du "texte" mais c'est génial. Même en ne mettant que 5
milisecondes de pause, cà roule ! Je ne connaissais pas cette méthode. J'irai
couché moins bête ce soir et merci pour la rapidité de ta réponse.
Bonne journée
Dédé
"Daniel.C" a écrit :
Bonjour.
Il faut repeindre to userform pour rafraîchir l'affichage.
Private Sub cmdGo_Click()
Randomize
For j = 1 To 20
[E3] = Int(Rnd * 6) + 1
lb.Caption = [E3]
Me.Repaint
Pause (5)
Next j
End Sub
Cordialement.
Daniel
> Salut tatous, par toutatis
>
> J'ai une p'tit' question à soumettre à votre sagacité.
> Mais avant, considérons ce qui suit:
> Dans un UserForm, un label nommé lb et un bouton de commande nommé cmdGo
> Dans le module de ce UserForm, j'ai écrit:
>
> Private Declare Function GetTickCount Lib "Kernel32" () As Long
> -----------------------------------------------------------------
> Private Sub Pause(Duree As Long)
> Dim Depart
> Depart = GetTickCount
> Do While GetTickCount < Depart + Duree
> Loop
> End Sub
> -----------------------------------------------------------------
> Private Sub cmdGo_Click()
> Randomize
> For j = 1 To 20
> [E3] = Int(Rnd * 6) + 1
> lb.Caption = [E3]
> Pause (50)
> Next j
> End Sub
> -----------------------------------------------------------------
> Alors ma question: pourquoi voit-on défiler les chiffres dans la cellule de
> la feuille excel et pas sur le label ? J'ai essayé d'inverser les deux
> instructions d'affichage en écrivant:
>
> lb.Caption = Int(Rnd * 6) + 1
> [E3] = lb.caption
>
> Le résultat est exactement le même. Seul le dernier chiffre généré apparaît
> sur le label. Une pause plus longue n'arrange rien !
>
> Merci d'avance pour vos réponses et merci aussi pour tout ce que j'apprend
> en parcourant ce forum et les sites de certains d'entre vous !
> Moustic, dit Dédé
Eh bien, cher Daniel, je ne m'attendais pas à devoir un jour faire de la painture pour afficher du "texte" mais c'est génial. Même en ne mettant que 5 milisecondes de pause, cà roule ! Je ne connaissais pas cette méthode. J'irai couché moins bête ce soir et merci pour la rapidité de ta réponse. Bonne journée Dédé
"Daniel.C" a écrit :
Bonjour.
Il faut repeindre to userform pour rafraîchir l'affichage.
Private Sub cmdGo_Click() Randomize For j = 1 To 20 [E3] = Int(Rnd * 6) + 1 lb.Caption = [E3] Me.Repaint Pause (5) Next j End Sub
Cordialement. Daniel
> Salut tatous, par toutatis > > J'ai une p'tit' question à soumettre à votre sagacité. > Mais avant, considérons ce qui suit: > Dans un UserForm, un label nommé lb et un bouton de commande nommé cmdGo > Dans le module de ce UserForm, j'ai écrit: > > Private Declare Function GetTickCount Lib "Kernel32" () As Long > ----------------------------------------------------------------- > Private Sub Pause(Duree As Long) > Dim Depart > Depart = GetTickCount > Do While GetTickCount < Depart + Duree > Loop > End Sub > ----------------------------------------------------------------- > Private Sub cmdGo_Click() > Randomize > For j = 1 To 20 > [E3] = Int(Rnd * 6) + 1 > lb.Caption = [E3] > Pause (50) > Next j > End Sub > ----------------------------------------------------------------- > Alors ma question: pourquoi voit-on défiler les chiffres dans la cellule de > la feuille excel et pas sur le label ? J'ai essayé d'inverser les deux > instructions d'affichage en écrivant: > > lb.Caption = Int(Rnd * 6) + 1 > [E3] = lb.caption > > Le résultat est exactement le même. Seul le dernier chiffre généré apparaît > sur le label. Une pause plus longue n'arrange rien ! > > Merci d'avance pour vos réponses et merci aussi pour tout ce que j'apprend > en parcourant ce forum et les sites de certains d'entre vous ! > Moustic, dit Dédé