Bonjour,
Je développe un UserForm avec des notamment des boutons, je voudrais que lorsque l'utilisateur clique sur un bouton, que ça récupère un temps de chauffe associé, que le bouton passe à l'orange, puis une fois le temps écoulé, passe au vert. Ca marche bien en utilisant la fonction Timer :
Seulement voilà, l'utilisateur peut cliquer sur plusieurs boutons, et donc je voudrais que chaque bouton respecte son temps de chauffe associé. Pour le moment, si je clique sur plusieurs boutons, ceux-ci passent tous au vert une fois le temps du dernier bouton cliqué terminé...
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 CommandButton98_Click() '6226 Application.ScreenUpdating = False Dim PauseTime, Start As Variant If CommandButton98.BackColor = vert Then CommandButton98.BackColor = rouge Worksheets("Equipements Actifs").Cells(105, 4).Value = 0 ElseIf CommandButton98.BackColor = rouge Then CommandButton98.BackColor = orange Worksheets("Equipements Actifs").Cells(105, 4).Value = 1 PauseTime = value_WarmUpTWT * 60 Start = Timer Do While Timer < Start + PauseTime DoEvents Loop CommandButton98.BackColor = vert End If UserForm_Click End Sub
J'ai essayé en déclarant "Start" et "PauseTime" en tableau, en affectant une nouvelle dimension à chaque nouveau clique, mais ça change rien :
Avez-vous des astuces pour gérer plusieurs Timer simultanément ?
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 Function TimerEqmt(PauseTime As Variant) i = i + 1 ReDim Preserve Start(i) ReDim Preserve WarmUpTime(i) WarmUpTime(i) = PauseTime Start(i) = Timer Do While Timer < Start(i) + WarmUpTime(i) DoEvents Loop End Function
Merci
Partager