lancement de macro entre ficheirs

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

pascal_bidouille

XLDnaute Junior
Bonjour,

Je souhaite faire une macro qui s'exécute après la fermeture d'un classeur.
Pour cela, j'ai eu l'idée de faire un add-in excel dans lequel je positionne une macro du style :
Code:
sub apres_fichier
dim wa as workbook
set wa= activeworkbook

wa.close

' autres actions après fermeture

end sub

Cette macro est appelée par la macro Private Sub Workbook_BeforeClose(Cancel As Boolean) de mon classeur que je ferme grace à la commande :
Application.Run("'mon_addin'!apres_fichier")

Le lancement des macro entre les fichier fonctionne bien. Le problème est que la fermeture du classeur d'origine entraine l'arrêt de la macro Private Sub Workbook_BeforeClose qui elle même "tue" l’exécution de apres_fichier

Est-il possible de lancer cela pour que la macro ne soir pas terminée ?
 
Re : lancement de macro entre ficheirs

Ben ,

Si tu vires l'évenementiel dans les classeurs autre que le maitre, et que tu géres tous dans le troisiéme,
le code de cloture étant dans le maitre tu ne perdra pas la main.
j'essai de revenir avec un exemple
 
Re : lancement de macro entre ficheirs

Ben ,

Si tu vires l'évenementiel dans les classeurs autre que le maitre, et que tu géres tous dans le troisiéme,
le code de cloture étant dans le maitre tu ne perdra pas la main.
r avec un exemple :
Code:
Option Explicit

Sub Gestion_Part1()
'Ouverture du premier classeur
Workbooks.Open ThisWorkbook.Path & "\" & "Suite_Test1.xlsm"

'Opérations à faire dans ce classeur


'si opérations manuelles alors utiliser le gestion_Part2

'sinon ou fermeture avec sauvegarde
Workbooks("Suite_Test1.xlsm").Close True
'Ou sans sauvegarde
'Workbooks("Suite_Test1.xlsm").Close false
End Sub

Sub Gestion_part2()
'sinon ou fermeture avec sauvegarde
Workbooks("Suite_Test1.xlsm").Close True

'Ouverture du deuxiemme classeur
Workbooks.Open ThisWorkbook.Path & "\" & "Suite_Test2.xlsm"

'Etc
End Sub

'Dans le classeur suite , la macro de sortie devra -t -être celle ci

Code:
Sub Appel_Gestion_Part2()
Application.Run Gestion_part2
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour