Bonjour à tous,

J'ai un petit problème persistant lors de l'éxecution d'une macro...
Voici la situation :

J'ai un ensemble de macros qui vont ouvrir un (autre) classeur et vont travailler dedans.
A la fin, la macro principale est sensée fermer ce classeur en le sauvegardant...

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
Public MonClasseurCible As Workbook
 
Sub Main_Sub()
 
 
    Call Ouvrir_Classeur_Cible
 
    Set MonClasseurCible = Application.ActiveWorkbook
 
    Main_Form.Show   ' tout le code de modification se trouve dans Private Sub UserForm_Activate()
                     ' Permet de garder une pop-up à l'ecran qui décrit les modifs au fur et à mesure
 
    Set MonClasseurCible = Nothing
    ActiveWorkbook.Close True
 
End Sub
Mais, arrivé ligne 14, j'obtient une Pop-up avec ce message :

Run-time '-2147417848(80010108)'

Automation error
The object invoked has disconnected from its clients
Puis Excel bugg et l'histoire se termine par un redémarrage d'Excel (si je ne clic pas sur "Restart the program" ; dans quel cas c'est un redémarrage complet du PC ^^)

Il faut savoir que j'ai modifié ma façon d'activer le classeur cible (avant quoi çà marchait) car je pensais que çà serait plus propre ; je vous laisse juger pas vous même :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Public MonClasseurCible As String
'est devenu
Public MonClasseurCible As Workbook
 
Workbooks(MonClasseurCible).Activate
'est devenu
MonClasseurCible.Activate
 
Workbooks(MonClasseurCible).Close True
'est devenu
MonClasseurCible.Close True
'puis enfin
ActiveWorkbook.Close True

Si quelqu'un avait une solution à mon problème, je suis preneur! =)