Executer une macro toutes les heures? c'est possible?
tibogl
Messages postés42Date d'inscriptionmercredi 26 janvier 2005StatutMembreDernière intervention25 avril 2006
-
4 août 2005 à 18:24
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
4 août 2005 à 22:19
Bonjour,
je dois implémenter une macro, qui lancerai un rapatriement de données toutes les heures, est-ce possible?
Si oui , comment?
Merci d'avance!
A voir également:
Executer une macro toutes les heures? c'est possible?
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 4 août 2005 à 22:16
Je t'ai fait cet exemple dans un module sur Excel.
Je me sers d'un Timer par API que j'ai réglé à 5 secondes pour le test, pas le temps d'attendre une heure.
C'est dans la Sub TimerProc que tu lanceras tes traitements.
Faut penser à fermer le Timer, mettre TermineTimer() où il conviendra pour que soit appelé à tout coup.
Option Explicit
Declare Function SetTimerAPI Lib "User32" Alias "SetTimer" (ByVal hWind As Long, ByVal idTim As Long, ByVal elapsed As Long, ByVal pfunc As Any) As Long
Declare Sub KillTimerAPI Lib "User32" Alias "KillTimer" (ByVal hWind As Long, ByVal idTim As Long)
Public idtimer As Long
Sub TimerProc(ByVal hwnd As Long, ByVal msg As Long, ByVal idev As Long, ByVal dwtime As Long)
MsgBox "TIMER"
End Sub
Sub Test()
' TOUTES LES 5 SECONDES UNE MSGBOX If idtimer 0 Then idtimer SetTimerAPI(0, 0, 5000, AddressOf TimerProc)
End Sub
Sub TermineTimer()
If idtimer Then
KillTimerAPI 0, idtimer
idtimer = 0
End If
End Sub