J'aimerais utiliser un timer pour pouvoir faire des actions.
En effet, une fois que le décompte est fini, je passe à l'action suivante.
Je ne vois pas trop comment utiliser le composant timer pour ça.
Pouvez-vous m'aideR?
Merci
J'aimerais utiliser un timer pour pouvoir faire des actions.
En effet, une fois que le décompte est fini, je passe à l'action suivante.
Je ne vois pas trop comment utiliser le composant timer pour ça.
Pouvez-vous m'aideR?
Merci
en faite, je voudrais que lorsque je clique sur un bouton , mon timer compte toutes les secondes par exemple jusqu'à une durée N (défini par l'ulitisateur).
Toutes les secondes, j'ai un compteur qui décrémente.
Par exemple, N=10.
compteur = 3
toutes les secondes,
Compteur = Compteur -1
comment peux - t'on faire cela?
une action, c'est un appel de fonction qui fera un traitement.
Par exemple, N=10000.
compteur = 3
toutes les secondes,
Compteur = Compteur -1
si le compteur =0 alors on décremente un aute compteur....
est ce posible de le faire?
je viens de voir comment on activait un timer.
comment faire pour activer le decompte du 2ème compteur que lorsque le 1er compteut a fini de décompter?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 'activation du compteur timer2.Interval = 1 timer1.enabled = true Private Sub Timer1_Timer() compteur1 = compteur1 - 1 If compteur1 = 0 Then MsgBox ("temps 1 fini!!") '' compteur2 = compteur2 - 1 End If End Sub
A la fin de ton Sub Timer1_Timer () tu mets:
Puis à l'affichage de ton action suivante du mets
Code : Sélectionner tout - Visualiser dans une fenêtre à part Timer1.enable = false
Code : Sélectionner tout - Visualiser dans une fenêtre à part Timer2.enable=true
c'est un compteur que je veux décompter non pas ajouter un nouveau timer.
je veux juste utiliser un seul timer.
toutes les secondes,
Compteur = Compteur -1
si le compteur =0 alors on décremente un aute compteur....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 'activation du compteur timer2.Interval = 1 timer1.enabled = true Private Sub Timer1_Timer() compteur1 = compteur1 - 1 If compteur1 = 0 Then MsgBox ("temps 1 fini!!") ' compteur2 = compteur2 - 1 ' on décremente le compteur 2 End If End Sub
:whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
saut de ligne
OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈
Le timer 1 ne doit pas s'arrêter avant une certaine valeur définit par l'utilisateur. (ex : 1200s)
j'ai fait une erreur dans le code précédent.
Voici le nouveau code :
Je ne veux qu'un seul timer. et je veux décompter des compteurs!! lorsque le compteur1est à 0 je dois décompter le compteur2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 'activation du compteur timer1.Interval = 1 timer1.enabled = true Private Sub Timer1_Timer() compteur1 = compteur1 - 1 If compteur1 = 0 Then MsgBox ("temps 1 fini!!") '' on decompte le compteur2 = compteur2 - 1 '.... End If End Sub
J'ai fait de cetet manière mais j'ai un problème, le compteur 2 est fini avant le compteur 1 alors que normalement le compteur2 doit commencer à décrémenter apres la fin du compteur 1. Pouvez vous m'aider?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Private Sub Timer1_Timer() 'compteur1=200 'compteur2=100 compteur1 = compteur1 - 1 If compteur1 = 0 Then MsgBox ("temps 1 de la pile 1 fini!!") GoTo compteur_nb_2 End If compteur_nb_2: compteur2 = compteur2 - 1 If compteur2 = 0 Then MsgBox ("temps 2 de la pile 2 fini!!") End If en sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Private Sub Timer1_Timer() 'compteur1=200 'compteur2=100 If compteur1 > 0 then compteur1 = compteur1 - 1 If compteur1 = 0 Then MsgBox ("temps 1 de la pile 1 fini!!") compteur1 = -1 End If End If If compteur1 = -1 then compteur2 = compteur2 - 1 If compteur2 = 0 Then MsgBox ("temps 2 de la pile 2 fini!!") Timer1.Enabled = False End If End If








Bonjour,
Suggestion: pourquoi ne pas faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Private Sub Timer1_Timer() 'compteur(1)=200 'compteur(2)=100 i=0 Do i = i + 1 compteur(i) = compteur(i) - 1 If compteur(i) = 0 Then MsgBox ("temps " & Str(i) & " de la pile " & Str(i) &" fini!!") End If Loop Until DernierIndiceCompteur Timer1.Enabled = False End Sub
Je voudrais généraliser ce que me propose OhMonBato car cela fonctionne pour 2 compteurs.
Ce que tu me proposes iclic ne fonctionne pas.
en effet ilic, suel le 1er compteur décompte pas les autres
J'ai avancé un peu sur le sujet mais j'ai toujours un soucis.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub Timer1_Timer() If compteur(N) <> 0 Then compteur(N) = compteur(N) - 1 Else 'Call configuration_defaut_port txtRecap.Text = "Temps(" & temps & ") de la pile " & N & "écoulé !!" bvaleur = True End If end sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Private Sub cmdLancerBanc_Click() bvaleur = True With frmVisualisationScenario.MSFlexGridScenario ReDim P1(.Cols - 2) N = 1 For i = 1 To .Cols - 1 Step 1 courant = .TextMatrix(i, 1) compteur(N) = .TextMatrix(i, 2) While bvaleur = True temps = compteur(N) Call config_port(courant) txtRecap.Text = "Lancement du banc de test" & vbCrLf & "pile à vide" & vbCrLf & "courant = " & courant & vbCrLf & "temps = " & compteur(N) bvaleur = False Timer1.Enabled = True Wend Next i End With
Mon compteur décompte bien pour ma 1ere valeur (i=1) mais pas pour les valeurs suivantes.
Quelqu'un peut m'aider ? merci








Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 Private Sub Timer1_Timer() Dim compteur() As Long Dim i As Integer Dim IndiceCompteur As Integer IndiceCompteur = 2 ReDim compteur(IndiceCompteur) compteur(1) = 20 compteur(2) = 10 i = 1 Do compteur(i) = compteur(i) - 1 If compteur(i) = 0 Then MsgBox ("temps " & Str(i) & " de la pile " & Str(i) & " fini!!") i = i + 1 End If Loop Until i > IndiceCompteur Timer1.Enabled = False End SubNormalDe sandball22
Mon compteur décompte bien pour ma 1ere valeur (i=1) mais pas pour les valeurs suivantes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Private Sub cmdLancerBanc_Click() bvaleur = True With frmVisualisationScenario.MSFlexGridScenario ReDim P1(.Cols - 2) N = 1 For i = 1 To .Cols - 1 Step 1 courant = .TextMatrix(i, 1) compteur(N) = .TextMatrix(i, 2) While bvaleur = True ' i = 1 tu passes dans la boucle temps = compteur(N) Call config_port(courant) txtRecap.Text = "Lancement du banc de test" & vbCrLf & "pile à vide" & vbCrLf & "courant = " & courant & vbCrLf & "temps = " & compteur(N) bvaleur = False Timer1.Enabled = True Wend ' bvaleur = false : tu sors de la boucle 'Puique bvaleur = false , tu ne passes jamais plus dans la boucle 'pour les autres valeurs de i Next i End With
Partager