Comment exécuter une macro à des heures différentes de la journée?
Comment exécuter une macro à des heures différentes de la journée?
Salut,
Il te faut un formulaire qui reste ouvert en permanence (formulaire caché)
et utiliser la propriété Timer de ce form:
Tu règle sa propriété TimerInterval à 60000 (toute les minutes par ex
et tu mets sur l'évenement timer de ton form:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Private Sub Form_Timer() If Time = #3:35:00 PM# Then DoCmd.RunMacro "Macro1" End If End Sub
Dans cette exemple on teste toute les minutes si il est 15:35,
si c'est le cas alors la macro1 est exécuté.
Remarque tu peux paramétré toi même l'heure à laquelle tu souhaite exécuter la macro avec une variable public date_event:
@+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 if Time=TimeValue(date_event) Then DoCmd.RunMacro "Macro1" End if
Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération![]()
Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
Gestion sur un planning des présences et des absences des employés
Gestion des rendez-vous sur un calendrier mensuel
Importer un fichier JSON dans une base de données Access :
Import Fichier JSON
Dans un formulaire indépendant, tu fais un timer qui controle l'heure... Tu stocke le nom des macros dans une table, et l'heure correspondante et tu le lance si l'heure est bonne.
Comme dis User sauf que tu stocke le nom de la macro et l'heure dans une table à part
OK merci beaucoup!!
Et si je veux que la macro s'exécute à chaque heure précise de la journée.
Donc ex. à 12:00 13:00 14:00 ... etc.
Car dans le cas de user, si je ferme la form et que je la réouvre, je devrais techniquement attendre au prochain 3:35.
J'aimerais par exemple que, une fois la form ouverte, exécute quand même la macro a la prochaine heure fix.
Merci!
testes les minutes du timer, si le resultat est =0, c'est une heure ronde.
Mais ca sous-entend que tu testes toutes les minutes.
Carine
Partager