fichier A ouvert
Private Sub Workbook_Open()
Dim MyStr As String
MyStr = Workbooks("fichier A.xls" ).Path
If Right(MyStr, 1) <> "\" Then MyStr = MyStr & "\"
Workbooks("fichier A.xls" ).SaveCopyAs MyStr & "fichier_Copy.xls"
Workbooks.Open MyStr & "fichier_Copy.xls"
Workbooks("fichier_Copy.xls" ).Activate
End sub
Que fait ce code ? Le fichier A est copié à l'identique dans le même répertoire en fichier_copy, fichier_est mis en premier plan, il est donc le fichier de travail. Attention, fichier A est toujours ouvert.
fichier_copy et fichier A contiennent et exécute les mêmes macros et les mêmes formules il convient donc de tester le fichier actif pour l'exécution des macros et formules du style
If ActiveWorkbooks("fichier A" ) then ou If activeWorbooks("fichier_copy" ) then