Bonjour,
D'aprés ce que dit le type qui à écrit l'article, tu peux programmer plusieurs taches, il faut les mettre dans des variables distinctes.
On peut aussi essayer de paramétrer les procédures StartTimer et StopTimer
Déclare 2 variables RunWhen1 et RunWhen2
Public RunWhen1 As Double
Public RunWhen2 As Double
Sub StartTimer(HeureExec as double, MaMacro as String)
Application.OnTime EarliestTime:=HeureExec, Procedure:=MaMacro, Schedule:=True
End Sub
Tu règle l'heure et tu déclenche la planification de tes taches en appelant StartTimer.
RunWhen1= Now + TimeSerial(0,0,5) 'execution dans 5 secondes
' ou encore RunWhen1=TimeSerial(12,0,0) ' execution à 12h précises
StartTimer(RunWhen1,"macro1")
RunWhen2= Now + TimeSerial(0,1,0) 'execution dans 1 minute
StartTimer(RunWhen2,"macro2")
Ensuite tes macros déclenchent une nouvelle programmation après execution
<code>
Sub Macro1()
' les instructions de ta macro1 à executer
RunWhen1= Now + TimeSerial(0,0,5) 'nouvelle execution dans 5 secondes
StartTimer(RunWhen1,"macro1")
End Sub
Sub Macro2()
' les instructions de ta macro2 à executer
RunWhen2= Now + TimeSerial(0,1,0) ' nouvelle execution dans 1 minute
StartTimer(RunWhen2,"macro2")
End Sub
Pour arreter le Timer c'est la meme chose
Sub StopTimer(HeureExec as double, MaMacro as String)
On Error Resume Next
Application.OnTime EarliestTime:=HeureExec, Procedure:=MaMacro, Schedule:=False
End Sub
Appel de StopTimer
StopTimer(RunWhen1,"macro1")
StopTimer(RunWhen2,"macro2")
Je n'ai pas testé, mais d'aprés l'article, si j'ai bien compris, c'est comme que ça marche.
A+.
je vien de me rendre compte que l'arret du timer ne fonctionne pas
tu peut m'expliquer umpeu le fonctionnement de schedule utilisé car quand je met
Application.OnTime EarliestTime:=RunWhen, Procedure:=cRunWhat, Schedule:=False
sur une autre ligne j'ai une erreur
j'ai regardé l'aide mes elle ne m'aide pas beaucoup
si tu pouvait encore me renseogner ca serais cool
je dit tu mais vous etes tous les bien venu
merci d'avance a+