On Time Time value ne marche pas

Bonjour,

Je cherche à exécuter automatiquement plusieurs macro à une heure fixe dans la journée :

Voici mon code place dans « this workbook »

Private Sub Worbook_Open ()

Application.ontime timevalue (« 7:00:00 »), « Macro1 »

Application.ontime timevalue (« 7:00:10 »), « Macro2 »

End Sub

Cependant le message suivant s’affiche à l’execution :

Le Can not run the macro the macro may not be available in this workbook or all macros may be disabled’´

A savoir que les procédures macro1 et macro 2 sont rédiger dans « Sheet1 » et « sheet2 »

Pouvez vous m’aider à savoir pourquoi ça ne fonctionne pas ?

Merci

Bonjour toutes et tous,

peut être comme ceci:

Private Sub Worbook_Open ()
Application.OnTime TimeValue("19:00:00"), "Macro1"
Application.OnTime TimeValue("19:00:10"), "Macro2"
End Sub

vu ici https://docs.microsoft.com/fr-fr/office/vba/api/excel.application.ontime

crdlt,

André

Bonsoir,

ça ne fonctionne pas parce que pour que VBA trouve la macro dans Sheet1, il faut que cette dernière:

1- soit déclarée publique : Sub et non Private Sub

2- soit préfixée par les objets feuille correspondant à Sheet1 et Sheet2

si l'objet feuille de la feuille Sheet1 est également Sheet1, alors il faut mettre

Application.OnTime TimeValue("19:00:00"), "Sheet1.macro1"

sinon avec le nom de la feuille :

Application.OnTime TimeValue("19:00:00"), Sheets("Sheet1").CodeName & ".macro1"

car Sheets("Sheet1").CodeName fournit le nom de l'objet Feuille.

Hello,

Oui merci pour l’astuce cela fonctionne maintenant

Rechercher des sujets similaires à "time value marche pas"