Dim perte As Integer Private Sub Command1_Click() perte = 200 ' ici 200 millisecondes intervalle_souhaité = 1000 ' pour exécution toutes les secondes Timer1.Enabled = True Timer1.Interval = intervalle_souhaité - perte End Sub Private Sub Command2_Click() Timer1.Enabled = False End Sub Private Sub Timer1_Timer() Static toto As Double If toto 0 Then toto Timer If Timer - toto >= Timer1.Interval / 1000 Then List1.AddItem Time ' --- pour rempérer les moments d'exécution perdre_du_temps ' on simule la durée d'exécution de ta fonction toto = Timer End If List2.AddItem toto End Sub Private Sub perdre_du_temps() 'on va ici perdre volontairement du temps (200 milliseconds) 'pour simuler la durée d'exécution de ta fonction Dim deb As Double deb = Timer Do While Timer - deb < perte / 1000 DoEvents Loop End Sub
Private Sub Timer1_Timer() secondes1 = Second(Now) If secondes1 <> secondes2 Then Enregistrement_data End If secondes2 = Second(Now) End Sub
j'ai un petit soucis avec mon code
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPrivate Sub TIM_REEL_Timer() Static j As Integer j = j + 1 If j = 10 Then TIMER_DECLENCHE.Enabled = True j = 0 End If End Sub Private Sub TIMER_DECLENCHE_Timer() If (CHK_AMT = 1) Then 'Si AMT coché alors envoi de la commande par RS Trame = "AMT" & (vbCrLn) 'Envoi de AMT et du CR et NL Form1.Recuperation_Trame 'Traitement de la réponse reçue TXT_VERIF_ENVOI.Text = Trame 'TXTBox pour verifier l'envoi de la trame End If If (CHK_MMT = 1) Then 'Si MMT coché alors envoi de la commande par RS Trame = "MMT" & (vbCrLn) 'Envoi de MMT et du CR et NL Form1.Recuperation_Trame 'Traitement de la réponse reçue TXT_VERIF_ENVOI.Text = Trame 'TXTBox pour verifier l'envoi de la trame End If TIMER_DECLENCHE.Enabled = False End Sub
TIMER_DECLENCHE.Enabled = False
TIMER_DECLENCHE.Enabled = Falsemon deuxième Timer n'est plus synchronisé et c'est justement mon but