Exécuter une macro d'un classeur déja ouvert via le planificateur de taches

Bonjour et bonne année à tous,

Je souhaite exécuter une macro de mon classeur ouvert à partir du planificateur de tache. J'ai donc crée un VBScript qui est censé détecter mon Excel ouvert, et exécuter la macro en sauvegardant le fichier, mais sans le fermer. Problème : cela ne fonctionne pas :

Set xlApp = CreateObject("Excel.Application")
Set xlWorkbook = xlApp.Workbooks.Open("C:\Chemin\Vers\Mon\Classeur.xlsm")
xlApp.Run "NomDeLaMacro"
xlWorkbook.Save
 

Est-ce que vous auriez des idées ?

Merci par avance

Bonjour Codeurpasfou, bonne année et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER] ainsi que ses fonctionnalités
qui vous aideront dans vos demandes et réponses sur ce forum.

Concernant votre demande, le code actuel n'est pas fait pour détecter si le fichier est déjà ouvert ou non.
Voici le code que j'utiliserai

Set xlApp = CreateObject("Excel.Application")
On Error Resume Next
Set xlWorkbook = xlApp.Workbooks(WorkbookName)
If xlWorkbook Is Nothing Then
  ' Le classeur n'est pas ouvert
  Set xlWorkbook = xlApp.Workbooks.Open("C:\Chemins\Vers\Toto.xlsm")
End If
On Error GoTo 0
xlApp.Run "NomDeLaMacro"
xlWorkbook.Save

Si la sub n'est pas "Private", il n'y a pas de raison qu'elle ne soit pas lancée, à moins d'une sécurité Microsoft (une de plus)

Merci de votre participation

Cordialement

Rechercher des sujets similaires à "executer macro classeur deja ouvert via planificateur taches"