Timer et label [Résolu]

Signaler
Messages postés
855
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
21 août 2015
-
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
-
Salut !

Comment avec 5 Label et un timer peut-on fait afficher en un intervalle de 1000 un à un les labels svp ?

Merci

----------
OS : Windows XP SP3 et Vista 32
Platforme : VB 6.0 + SP6
Ok VB6.0 c'est pas net !

7 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
73
Bah tu gères une variable qui se servira d'incrément dans l'évènement du Timer :
Dans la partie déclaration de ta page de code :
Dim monIndex As Integer
Dans l'évènement du Timer (que tu auras démarré) :
Label(monIndex).Visible = True
monIndex = monIndex + 1
If monIndex > 10 Then monTimer.Enabled = False
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
73
Salut

En indexant tes Labels et en rendant .Visible le Label dont tu incrémenteras l'index à chaque cycle de ton Timer.

Indexation des Labels (VB6 seulement, pas VBA) :
Tu crées un premier Label et tu lui mets la propriété Index à 0
Tu le copie-colle autant de fois que tu veux : Il gardera le même nom mais sont index s'incrémentera.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
855
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
21 août 2015

Merci Jack pour ta réponse rapide.

Jusque là je n'ai pas de problème, mais je n'arrives pas à faire de sorte qu'un à un s'affiche en fait.

Label(0).Visible = False
Label(1).Visible = False
Label(2).Visible = False
Label(3).Visible = False
Label(4).Visible = False
Timer.Interval = 1000
Messages postés
855
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
21 août 2015

Merci pour ce bout de code :
Private Sub Timer1_Timer()
Dim MonIndex As Integer
Label(MonIndex).Visible = True
MonIndex = MonIndex + 1
If MonIndex > 10 Then Timer.Enabled = False
End Sub


Après une intervalle de 1000 il m'affiche le premier label(0) et stop...
L'erreur vient-elle de moi ?
Messages postés
1263
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
6
Salut sinistrus

Oui l'erreur vient de toi

Jack t'a dit
"Dans la partie déclaration de ta page de code :
Dim monIndex As Integer "

et non dans ta sub timer

A+

La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
Messages postés
855
Date d'inscription
samedi 11 juin 2005
Statut
Membre
Dernière intervention
21 août 2015

Oui il a eu raison, c'est bien ma faute.

Merci Jack et merci Galain
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
73
Cool.