2010-07-25 7 views
1

Je travaille sur un projet pour envoyer des notifications d'alerte à une liste de diffusion. J'ai un fichier Excel avec une macro vba qui permet sa mise à jour à partir d'une base de données. J'ai besoin d'exécuter la macro dans le fichier automatiquement toutes les 30 minutes sans avoir à ouvrir le fichier. On m'a dit d'écrire cette macro dans un programme séparé, mais je ne sais pas comment le faire.comment exécuter une macro vba toutes les 30 minutes automatiquement?

Répondre

5

Excel VBA DOM a une fonctionnalité intéressante appelée Application.OnTime. Cela peut planifier une macro à exécuter à tout moment. Pour exécuter une macro toutes les 15 min, planifiez simplement 15 min à l'avenir au démarrage de l'application, puis planifiez 15 min dans le futur à chaque exécution de la macro.

A partir de ce site: http://www.ozgrid.com/Excel/run-macro-on-time.htm

Exemple:

Private Sub Workbook_Open() 
    Application.OnTime Now + TimeValue("00:15:00"), "MyMacro" 
End Sub 
+0

merci pour le lien. mais comment puis-je exécuter la macro sans avoir à ouvrir le fichier? c'est possible? – daria

+0

@daria mettez à jour votre question avec l'exigence supplémentaire :-) –

+0

Et il n'est pas possible de mettre à jour une macro sans ouvrir un fichier car la macro est stockée dans votre fichier. Sinon, vous devrez écrire votre macro en tant que programme séparé, auquel cas vous pouvez utiliser le planificateur Windows pour l'exécuter périodiquement. –

Questions connexes