Le druide wrote:Tom Bombadil wrote:Oublie ce que je t'ai dit, à la lumière de l''explication de ton code, il faudrait comme le dit si bien Matrick
mettre le nom de ton classeur "B" en variable pour pouvoir masquer la "Feuille Support" de celui-ci et le fermer
Classeur_a_fermer=ActiveWorkbook.Name 'on récupère le nom du classeur à fermer avant de passer sur le nouveau
Sheets("Centres de répartition").Select
Sheets("Feuille support").Visible = True
Sheets(Array("Données à saisir", "Centres de répartition", "Coûts d'acquisition", _
"Coûts de production", "Coûts de revient", "Feuille support")).Select
Sheets("Coûts de revient").Activate
Sheets(Array("Données à saisir", "Centres de répartition", "Coûts d'acquisition", _
"Coûts de production", "Coûts de revient", "Feuille support")).Copy
Sheets("Feuille support").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("Données à saisir").Select
Range( _
"B1,B6,C6,D6,E6,E6:N6,B14,D14,C17,B17,B21,B28,B29,B32:C34,B38:C39,B42:C42,B45:C45,B48:C48,G39:H39,G42:H42,B52:C59,E57:F57,E61:F61,I52:I55" _
).ClearContents
Windows(Classeur_a_fermer).Activate 'retour sur le classeur initial
Sheets("Feuille support").Visible = False
Workbooks(Classeur_a_fermer).Close True
On doit pas être loin...
J'essaierai demain. Machi à tous les deux. Il me semblait qu'il fallait une variable mais je ne savais pas la formuler
De retour avec mes macros
La macro ci-dessus marche nickel.
J'ai dû faire pour un autre dossier une autre marco, calquée en tout point sur celle là :
Sub Données_mensuelles()
'
' Données_mensuelles Macro
'
'
Classeur_a_fermer = ActiveWorkbook.Name
Sheets("Coûts d'acquisition").Select
Sheets("Feuille support").Visible = True
Sheets(Array("Données à saisir", "Centre de répartition", "Coûts d'acquisition", _
"Coûts de production", "Coûts de revient et résultat", "Compte de résultat", _
"Rentabilité", "Feuille support")).Select
Sheets("Données à saisir").Activate
Sheets(Array("Données à saisir", "Centre de répartition", "Coûts d'acquisition", _
"Coûts de production", "Coûts de revient et résultat", "Compte de résultat", _
"Rentabilité", "Feuille support")).Copy
Sheets("Feuille support").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("Données à saisir").Select
Range( _
"B1,B6:B8,C9:I9,B10:B11,B18:C18,F18,G18,B21:C21,F21:G21,B24:C24,F24:G24,B27:C27,F27:G27,B30:C30,F30:G30,B33:C33,F33:G33,B36:C36,F36:G36,B39:C39,F39:G39,F42:G42,C46:C49,F46:F54,B54:C54,B58:C61,B64:B65" _
).ClearContents
Windows(Classeur_a_fermer).Activate
Sheets("Feuille support").Visible = False
Workbooks(Classeur_a_fermer).Close True
End Sub
Sauf que même problème : en exécutant la macro, il m'ouvre le fichier source sans le refermer, bien qu'en ayant renommer le classeur actif...