jmf0
Messages postés1566Date d'inscriptionmardi 26 décembre 2000StatutMembreDernière intervention 5 avril 20138 27 févr. 2009 à 22:55
Oh !
Comment celà, tu ne comprends pas ????
Tu ne comlprends pas quoi, exactement ?
Ce qu'est une variable static ?
Tout ?
Bon ...
Voilà donc deux exemples à main levée (te restera à choisir et ... à copier-coller !!!)
Exemple 1====>> Ici j'utilise la fonction Timer dans le Timer
C'est bon si tu restes dans la même journée, mais à déconseiller si tu chevauche 2 ou plusieurs journées :
Private Sub Form_Activate()
Timer1.Enabled = True
Timer1.Interval = 500 'je prends un petit intervalle "raisonnable) (ici 1/2 seconde, par exemple)
End Sub
Private Sub Timer1_Timer()
Static toto As Long If toto 0 Then toto Timer
If Timer - toto >= 10 Then 'ici on exécute toutes les 10 secondes ! mettre 7200 pour 2 heures
MsgBox "coucou"
toto = Timer
End If
End Sub
Exemple 2 ====>> et là on utilise la date système (et du coup on peut s'étaler sur plus d'une jourtnée) :
Private Sub Form_Activate()
Timer1.Enabled = True
Timer1.Interval = 500 'je prends un petit intervalle "raisonnable) (ici 1/2 seconde, par exemple)
End Sub
Private SubxTimer1_Timer()
Static toto As Date If toto 0 Then toto Now
'ici on exécute toutes les 10 secondes ! mettre "h" et 2 à la place de "s" et 10 pour 2 heures
If DateDiff("s", toto, Now) >= 10 Then
MsgBox "coucou"
toto = Now
End If
End Sub
Comme tu le vois : j'ai mis en oeuvre, très exactement, ce que je t'avais exposé !!! Et je n'y vois rien de bien sorcier ...
jmf0
Messages postés1566Date d'inscriptionmardi 26 décembre 2000StatutMembreDernière intervention 5 avril 20138 27 févr. 2009 à 21:26
Bonjour,
Rien (absolument rien) ne t'empêche de mettre un tout petit intevalle et :
- d'utliliser une variable Static remise à l'heure système à chaque fois que tu exécutes tes instructions
- de n'exécuter tes instructions que lorsque l'heure système est supérieure ou égale à ta variable Static + 2 heures ...
Où est le problème ?
jmf0
Messages postés1566Date d'inscriptionmardi 26 décembre 2000StatutMembreDernière intervention 5 avril 20138 27 févr. 2009 à 22:58
Corrige, jein ... (voilà quand on écrit à main levée) ... :
Private Sub Timer1_Timer()
et non
Private SubxTimer1_Timer()
(c'est évident, mais je ne sais plus ce qui l'est, maintenant !!!)