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