Option Explicit
Const Frequence = 5 'intervalle en seconde (=3600 pour une heure)
Public Prochain
Sub Rafraichir()
On Error Resume Next ' au cas où il y aurait un PB d'heure
Application.OnTime EarliestTime:=Prochain, Procedure:="Rafraichir", Schedule:=False 'on arrête la prochaine exécution
On Error GoTo 0
MsgBox "Rafraichissement..." 'ICI, placez le code de rafraichissment
Prochain = Time + Frequence * 1 / 24 / 60 / 60 'heure de la prochaine exécution
Prochain = Prochain - Int(Prochain) 'au delà de minuit, on enlève 24h
Application.OnTime EarliestTime:=Prochain, Procedure:="Rafraichir", Schedule:=True 'programmation du prochain lancement
End Sub