Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Executer une macro d'un autre classeur

1 réponse
Avatar
Paulo
Bonjour,
quand j'ai ouvert le classeur A, comment faire apr=E8s clic=20
sur un boutton, pour ouvrir un classeur B en invisible et=20
executer une sub qui se trouve dans le classeur B?
Merci

1 réponse

Avatar
Denis Michon
Bonjour Paulo,

Voici un exemple ce code pour appeler une macro nommé "Test1" selon que ton classeur est ouvert ou fermé :

Classeur Fermé:
Application.Run "'C:Mes documentsAnswer.xls'!test1"


'Procédure dans un module standard
Classeur Ouvert:
Application.Run "Answer.xls!test1"


Pour ouvrir un classeur dans une nouvelle instance, invisible aux yeux de l'usager :


Lors de tes tests, met la propriété Visible à True durant tes test. Lorsque tout fonctionne bien, tu peux alors passer
la propriété "Visible" à false, sinon, tu risques d'avoir plusieurs instances d'ouvert en mémoire en cas de plantage
...et quelques difficultés si tu n'es pas trop familier avec cela!

'-------------------------
Sub OuvrirEtExécuterMacro()

Dim Xl As Object, Wk As Workbook

Set Xl = CreateObject("Excel.Application")
Xl.Visible = False 'True
Set Wk = Xl.Workbooks.Open("C:ExcelClasseur1.xls")
Xl.Run Wk.Name & "!MaMacro"
'Ferme le classeur en enregistrant les modification.
'utilise False, si tu n'as pas besoin de sauvegarder
Wk.Close True
Xl.Quit
Set Xl = Nothing: Set Wk = Nothing

End Sub
'-------------------------


Salutations!


"Paulo" a écrit dans le message de news:060b01c3b1c8$c1052020$
Bonjour,
quand j'ai ouvert le classeur A, comment faire après clic
sur un boutton, pour ouvrir un classeur B en invisible et
executer une sub qui se trouve dans le classeur B?
Merci