Bonjour,
J'ai développé un petit outil qui va rechercher des informations dans une base de données MS SQL. Le chargement de ses données se fait via un bouton, l'utilisateur renseignant les informations de connexion.
Pour des raisons pratiques, l'utilisateur souhaiterait se connecter une première fois puis, que les données se rafraîchisse toutes les 5 min
J'ai trouvé un code qui fonctionne bonnant-malant, mais qui a un comportement très aléatoire (l'exécution ne se fais pas du tout à intervalle régulier).
Est-ce que quelqu'un pourrait m'expliquer comment faire pour ne pas avoir l'aspect aléatoire?
Merci d'avance
J'ai développé un petit outil qui va rechercher des informations dans une base de données MS SQL. Le chargement de ses données se fait via un bouton, l'utilisateur renseignant les informations de connexion.
Pour des raisons pratiques, l'utilisateur souhaiterait se connecter une première fois puis, que les données se rafraîchisse toutes les 5 min
J'ai trouvé un code qui fonctionne bonnant-malant, mais qui a un comportement très aléatoire (l'exécution ne se fais pas du tout à intervalle régulier).
Code:
Public HeureExecution As Double, Interval As Long
' Pour Amorcer le Timer toutes les x secondes
Public Sub Lancer(ByVal NbSecondes As Long)
Interval = NbSecondes
Application.OnTime Now + TimeSerial(0, 0, Interval), "ExecuterTimer"
End Sub
' Pour démarrer le Timer
Public Sub CommandButtonStart_Click()
Lancer (100)
End Sub
' Pour Stopper le Timer
Public 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)
Public 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
Est-ce que quelqu'un pourrait m'expliquer comment faire pour ne pas avoir l'aspect aléatoire?
Merci d'avance