[VBA-EXcel] Timer pour mise jour automatique
Bonjour,
C'est une question souvent posé mais je me casse les dents dessus...
Je souhaite avoir un Timer sur ma feuille Excel afin de mettre jour périodiquement des info via un ActiveX.
J'ai trouvé du code mais j'ai un message d'erreur et je ne trouve pas de solution... La fonction ExcuterTimer n'est pas reconnue...
Merci de votre aide précieuse...
L'erreur étant :
Citation:
"Impossible de mettre trouver la macro c:\temp\test.xls!ExcuterTimer"
Mon code étant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| Dim HeureExecution As Double, Interval As Long
' Pour Amorcer le Timer toutes les x secondes
Private Sub Lancer(ByVal NbSecondes As Long)
Interval = NbSecondes
Application.OnTime Now + TimeSerial(0, 0, Interval), "ExecuterTimer"
End Sub
' Pour démarrer le Timer
Private Sub CommandButtonStart_Click()
Lancer (10)
End Sub
' Pour Stopper le Timer
Private Sub CommandButtonStop_Click()
On Error Resume Next
Application.OnTime HeureExecution, "ExecuterTimer", , False
End Sub
' Lancer toutes les x secondes
'
'Now : Renvoie une valeur de type Variant (Date) indiquant la date et l'heure en cours
' fournies par la date et l'heure système de votre ordinateur.
'OnTime : Cette méthode programme l'exécution d'une procédure à un moment précis
' (soit à une heure précise soit après l'écoulement d'un délai précis).
'TimeSerial : Renvoie une valeur de type Variant (Date) contenant une heure précise (heure, minute et seconde)
Sub ExecuterTimer()
' Ici on affiche un msg toutes les 10 s
MsgBox "Coucou", vbOKOnly, "Timer"
HeureExecution = Now + TimeSerial(0, 0, Interval)
Application.OnTime HeureExecution, "ExecuterTimer"
End Sub |