re,
dans la macro "Activation_API", vous devez changer ce qu'il doit se passer en cas d'activation ou d'attente.
Il y a 2 temps (en minutes) à changer dans les cellules jaunes.
Public dNextTime, bFlipFlop
Sub Bouton_Commencer()
bFlipFlop = False 'reset ce drapeua pour qu'on commence directement avec une activation de l'API
Update_OnTime
End Sub
Sub Update_OnTime()
With Sheets("latest_id=1,1027,1839,3635 (3)")
ligne = .Range("A" & Rows.Count).End(xlUp).Row 'dernière ligne d'écriture
b = (.Range("A" & ligne).Value = Range("H2").Value) And (.Range("B" & ligne).Value = .Range("F2").Value) 'valeurs ne sont pas modifié
If Not b Then .Range("A" & ligne + 1).Resize(, 4).Value = Array(.Range("H2").Value, .Range("F2").Value, Now, IIf(bFlipFlop, "Start", "Stop")) 'en cas de modification, écrire les nouvelles données
End With
Stoppen
bFlipFlop = Not bFlipFlop 'inverser le drapeau '
dNextTime = Now + IIf(bFlipFlop, TimeSerial(0, Range("temps_d_action").Value, 0), TimeSerial(0, Range("temps_d_attente").Value, 0)) 'temps où la macro ser lancée de nouveau
Activation_API
Application.OnTime dNextTime, "Update_onTime"
End Sub
Sub Stoppen()
On Error Resume Next
Application.OnTime dNextTime, "Update_onTime", , 0
Application.StatusBar = ""
On Error GoTo 0
End Sub
Private Sub Activation_API()
If bFlipFlop Then
Application.StatusBar = "Refresh = Activation de l'API et attendre les nouvelles données pendant " & Range("temps_d_action").Value & " minute(s) jusqu'à " & Format(dNextTime, "hh:mm:ss")
ThisWorkbook.RefreshAll '-----> par exemple !!!!
Else
Application.StatusBar = "En garde pendant " & Range("temps_d_attente").Value & " minute(s) jusqu'à " & Format(dNextTime, "hh:mm:ss")
End If
End Sub