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 :

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
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

J'ai testé avec une macro "bidon" et le code reprend son exécution lorsqu'il finit la macro.

Je suis toute ouïe !