bonjour,

Je force l'ouverture du classeur A dans une autre instance :

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
Option Explicit
Private Sub Workbook_Open()
ThisWorkbook.Close False
End Sub
 
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim XlAp As Excel.Application
Dim Wb As Workbook
Dim Ch1$
Dim Fich$
Ch1 = ThisWorkbook.Path & "\MonDossier\"
Fich = "A.xls"
        Set XlAp = CreateObject("Excel.Application") 'autre instance
        XlAp.Workbooks.Open (Ch1 & "\" & Fich)
        XlAp.Visible = True
        Set XlAp = Nothing
If Workbooks.Count = 1 Then Application.Quit
End Sub
Cela c'est OK.
A partir de ce classeur A, j'ouvre un classeur "Mod-Fact.xls", le renomme, le sauve :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 ChDos = ThisWorkbook.Path & "\Modèle\"
    ChFich = "Mod-Fact.xls"
	ch2="001"
    Ch3 = "Fact-" & Ch2 & ".xls"
 
    Workbooks.Open (ChDos & ChFich)
 
    Workbooks(ChFich).SaveAs ThisWorkbook.Path & "\Fact\" & Ch3
Encore OK, part contre, quand je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 Workbooks(ChFich).close
le tous les classeurs ouverts ce cette instance se ferment, alors que je ne veux fermer que "ChFich".

d'ou vient mon erreur ?
Merci de vos pistes