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

Rechercher des sujets similaires à "macro automatique tous jours"