Bonjour à tous,
Premièrement je m'excuse pour le titre pas joli joli de la discussion, mais je ne trouvais pas plus explicite.
Voici mon problème, j'ai une macro 1 dans un fichier 1 qui ouvre un autre fichier 2 et qui exécute une macro 2 dans ce fichier. Jusque là tout va bien.
En revanche, lors de la fin de l'exécution de la macro 1, la macro 2 ne reprend pas son exécution, Le code arrête tout simplement de tourner.
Je suis obligé de faire comme ceci car la deuxième partie de la macro 1 utilise les résultats de la macro 2.
Dois-je rajouter une ligne afin de forcer la reprise ? A noter que la macro 2 enregistre le fichier 2 sous d'autres noms, je ne sais pas si ça peut jouer ..
Voici le code de la macro 1 :
Je pense en effet que le souci vient du fait que lors de l'exécution de la macro 2, le fichier2 change de nom et donc VBA doit être perdu en quelque sorte ... grrr
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Sub ma_macro dim yesno as boolean dim fichier2 as variant dim fichier2name as string Application.DisplayAlerts = False Application.AskToUpdateLinks = False If yesno= vbYes Then fichier2= Application.GetOpenFilename("Tous les fichiers (*.*),*.*", , "Indiquez le chemin du fichier 2") If yesno= False Then Exit Sub activeSheetName = ActiveWorkbook.Name'récupère le nom du fichier 1 Workbooks.Open (fichier2) fichier2name= ActiveWorkbook.Name Application.Run ("'" & fichier2name& "'" & "!Module2.macro2")'--> à la fin de cette ligne la macro s'arrête de tourner :( 'suite du code 'xxxx End Sub
J'ai testé avec une macro "bidon" et le code reprend son exécution lorsqu'il finit la macro.
Je suis toute ouïe !![]()
Partager