Macro automatique tous les jours
Bonjour,
J'ai une macro qui doit se mettre en route tous les jours à 6:00, 14:00 et 22:00.
Mon fichier est en permanence ouvert.
Mon problème étant que ça ne le fait qu'une seule fois pour chaque et non pas tous les jours.
Est-ce-qu'il ne faudrait pas rajouter une condition ?
Merci d'avance.
Voici mon code dans ThisWorbook
Private Sub Workbook_Open()
Application.OnTime TimeValue("14:00:00"), "findequipeA"
Application.OnTime TimeValue("22:00:00"), "findequipeB"
Application.OnTime TimeValue("06:00:00"), "findequipeC"
End Sub
Bonjour,
Workbook_Open ne se déclenche qu'à l'ouverture, une seule fois... donc le déclenchement des macros une seule fois parait assez logique...
Peut-être faudrait-il déclencher à la fin des procédures "findequipe" ?
Voici un protocole de test :
Sub test()
MsgBox "ok"
End Sub
Sub AA()
Call test
Application.OnTime TimeValue(Now + TimeValue("00:00:10")), "BB"
End Sub
Sub BB()
Call test
Application.OnTime TimeValue(Now + TimeValue("00:00:10")), "CC"
End Sub
Sub CC()
Call test
Application.OnTime TimeValue(Now + TimeValue("00:00:10")), "AA"
End Sub
Bonjour,
Le plus simple est d'utiliser le planificateur de tache Windows afin de lancer un fichier en "VBS" qui commandera l'ouverture
du fichier excel contenant la macro à l'heure programmée.
( Utilisation du bloc note pour créer un fichier texte et modification de l'extension pour finir sur un fichier "Testlancement.vbs" )
contenu :
Dim Xl
Set Xl = WScript.CreateObject("EXCEL.application")
Xl.Visible = True ' Or False
set Wk = Xl.workbooks.open("C:\Users\nompersonne\Desktop\Classeur1testmacro.xlsm")
Bonjour,
Le plus simple est d'utiliser le planificateur de tache Windows afin de lancer un fichier en "VBS" qui commandera l'ouverture
du fichier excel contenant la macro à l'heure programmée.
( Utilisation du bloc note pour créer un fichier texte et modification de l'extension pour finir sur un fichier "Testlancement.vbs" )
contenu :
Dim Xl Set Xl = WScript.CreateObject("EXCEL.application") Xl.Visible = True ' Or False set Wk = Xl.workbooks.open("C:\Users\nompersonne\Desktop\Classeur1testmacro.xlsm")
Le fichier sera donc fermé après l'éxecution de la macro?
Car il faut absolument qu'il reste actif.
Il n'y a pas d'autres solutions? Sans passer par le planificateur de tâches.
Bonjour,
Workbook_Open ne se déclenche qu'à l'ouverture, une seule fois... donc le déclenchement des macros une seule fois parait assez logique...
Peut-être faudrait-il déclencher à la fin des procédures "findequipe" ?
Voici un protocole de test :
Sub test() MsgBox "ok" End Sub Sub AA() Call test Application.OnTime TimeValue(Now + TimeValue("00:00:10")), "BB" End Sub Sub BB() Call test Application.OnTime TimeValue(Now + TimeValue("00:00:10")), "CC" End Sub Sub CC() Call test Application.OnTime TimeValue(Now + TimeValue("00:00:10")), "AA" End Sub
Je ne comprend pas trop à quoi sert ce test?
De plus, tu le mets dans l'espace ThisWorkbook ou dans le module?
OK, oublions ce test...
à la fin de findequipeA tu mets :
Application.OnTime TimeValue("22:00:00"), "findequipeB"
à la fin de findequipeB tu mets :
Application.OnTime TimeValue("06:00:00"), "findequipeC"
à la fin de findequipeC tu mets :
Application.OnTime TimeValue("14:00:00"), "findequipeA"
Bien entendu, pour vérifier que cela fonctionne, il faudra attendre une bonne journée... c'est pourquoi un protocole de test (dans un module) qui affiche OK toutes les 10 secondes, c'est utile... de plus tu vas éventuellement rencontrer d'autres difficultés, par exemple si tu dois relancer ton fichier à une heure de matinée ou d'après midi...
OK, oublions ce test...
à la fin de findequipeA tu mets :
Application.OnTime TimeValue("22:00:00"), "findequipeB"
à la fin de findequipeB tu mets :
Application.OnTime TimeValue("06:00:00"), "findequipeC"
à la fin de findequipeC tu mets :
Application.OnTime TimeValue("14:00:00"), "findequipeA"
Bien entendu, pour vérifier que cela fonctionne, il faudra attendre une bonne journée... c'est pourquoi un protocole de test (dans un module) qui affiche OK toutes les 10 secondes, c'est utile... de plus tu vas éventuellement rencontrer d'autres difficultés, par exemple si tu dois relancer ton fichier à une heure de matinée ou d'après midi...
Bonjour,
Merci à vous deux. Oxydum, c'est ce que j'ai pu trouver en fin d'après midi hier.
Merci encore