excuter une procédure tous les X ut

honoran

XLDnaute Nouveau
Bonjour à tout le monde,

Je souhaite exécuter une procédure toutes les 5 minutes. Après avoir recherché des informations sur la facon de faire, J'ai programmé celle ci:

Code:
Sub ecriture()

    '****** déclaration des variables ******
    Dim PathFic As String
    Dim Nombdd As String
    
    '****** initialisation des variables ******
    PathFic = "C:\Documents and Settings\"
    Set BddAccess = CreateObject("Access.application")
    Nombdd = "visu.mdb"
    Set BddAccess = DBEngine.OpenDatabase(PathFic & Nombdd)
    
    'appel des procédures d'enregistrement des données de la visu dynamique
    Call tesytoto("NM 38", "NM38")
    Call tesytoto("NM 39", "NM39")
 
    '****** fermeture de la base de données
    BddAccess.Close
    Set BddAccess = Nothing
    
    '****** recommencer un enregistrement dans 5 minutes
    [B]Excel.Application.OnTime Now + TimeValue("00:05:00"), "ecriture"[/B]
    
End Sub

Mon problème est le suivant:
la procédure ecriture s'est exécuté à :
...
11:01:34
11:02:17
11:02:26
11:05:53
11:06:39
11:07:21
...

L'intervalle d'exécution n'est pas de 5 min mais à priori aléatoire.

Si quelqu'un peut m'expliquer l'erreur que j'ai faite ou connait une autre méthode que celle employé, je suis preneur.

Merci à tous.
 

Ashaar

XLDnaute Junior
Re : excuter une procédure tous les X ut

Bonjour,

Essaye de remplacer ton code par :

RunWhen = Now + TimeSerial(0, 5, 0)
Application.OnTime earliesttime:=RunWhen, procedure:= "ecriture", schedule:=True

Chez moi cela fonctionne correctement.
 

Statistiques des forums

Discussions
312 611
Messages
2 090 226
Membres
104 452
dernier inscrit
hamzamounir