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
Version imprimable
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:
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
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:
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
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:
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:
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:
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:
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:
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:
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:
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 Sub
NormalCitation:
De sandball22
Mon compteur décompte bien pour ma 1ere valeur (i=1) mais pas pour les valeurs suivantes.
Code:
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