Problème avec l'utilisation d'Application.Run
Bonjour,
Je suis en train de faire un petit programme et j'ai un souci avec l'utilisation de Run. J'ai 2 classeurs : ClasseurA et ClasseurB. Depuis ClasseurA, j'appelle la procédure de cette manière :
Code:
1 2
|
Application.Run Workbooks(ClasseurB.Name) & "!EraseOldBook", ClasseurA.Path, ClasseurA.Name |
Le code dans le ClasseurB est le suivant:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
Public Sub EraseOldBook(ByRef path As String, ByRef name As String)
Dim fullPath As String: fullPath = path & Application.PathSeparator & name
Workbooks(name).Close true
If TestIfFileExist(fullPath) Then ' Petite fonction qui fait : len(dir(fullPath)) > 0
'Kill fullPath
End If
MsgBox "fin"
End Sub |
Le but de ma manoeuvre est de supprimer ClasseurA depuis ClasseurB. Le MsgBox "fin" est là uniquement pour les tests.
Mon problème est qu'a partir du moment où j'ai appellé Workbooks(name).Close, l'exécution du code s'arrête et MsgBox "fin" n'apparait jamais alors que mon ClasseurB reste ouvert. Etant donné que je suis dans ClasseurB je ne comprends pas pourquoi l'exécution du code s'arrête après la fermeture de ClasseurA. Je dois préciser que le ClasseurA est une copie du ClasseurB dont j'ai au préalable fait une sauvagarde avec Thisworkbook.SaveAs (ça a peut-être son importance).
Quelqu'un pourrait m'éclairer svp ?
Je vous remercie :)
Romain