Code pour ouvrir plusieurs classeurs en même temps

Bonjour à tous,

Je dispose de plusieurs classeur Excel sur mon ordinateur, que je vais appeler pour l'exemple : "Classeur Principal", "Classeur 2", "Classeur 3", et "Classeur 4".

Ce que je recherche à faire, c'est que lorsque j'ouvre mon "Classeur Principal", mes autres classeurs ("Classeur 2", "Classeur 3", et "Classeur 4") s'ouvrent automatiquement en même temps !

Quelles sont les différentes alternatives svp ?

Merci d'avance pour votre aide.

Bonsoir Anthony, bonsoir le forum,

Si tous les classeurs sont dans le même dossier, le code ci-dessous, à placer dans le composant ThisWorlbook du Classeur Principal, devrait fonctionner :

Private Sub Workbook_Open()
Dim CA As String

CA = ThisWorkbook.Path & "\"
Workbooks.Open CA & "Classeur2.xlsx"
Workbooks.Open CA & "Classeur3.xlsx"
Workbooks.Open CA & "Classeur4.xlsx"
ThisWorkbook.Activate
End Sub

Bonjour et merci de répondre à ma question !

La formule fonctionne effectivement très bien, mais cela m'emmène à d'autres questions :

- Le code fonctionne pour tous les classeurs se trouvant dans le même dossier, mais existe t-il une solution pour des classeurs qui sont dans d'autres dossiers ?

- Y a t'il une solution pour fermer tous les classeurs en même temps, et non les uns après les autres ? (car j'aurais beaucoup de classeurs)

Merci à vous

Bonjour à vous deux.
Je prends la liberté de répondre parce qe j'ai eu un pb pour fermer tous les classeurs il y a quelques temps.
Pour ouvrir plusieurs classeur, Thauthème t'a répondu, il suffit de mettre les noms des fichiers avec leurs path. Pour les refermer, il faut le faire dans l'ordre inverse. C'est assez curieux.

Private Sub Workbook_Open()
    Dim i As Integer

    Workbooks.Open Filename:="d:\dossiers\dossier1\classeur1.xlsx"
    Workbooks.Open Filename:="d:\dossiers\dossier2\classeur2.xlsx"
    Workbooks.Open Filename:="d:\dossiers\dossier3\dossier31\classeur31.xlsx"
    MsgBox "Classeurs ouverts"

    For i = Workbooks.Count To 2 Step -1
        Workbooks(i).Close SaveChanges:=True ' ou False selon le besoin
    Next i
    MsgBox "Classeurs fermés"
End Sub

Curieusement, si on tape For i = 2 to Workbooks.Count, donc dans l'ordre croissant d'ouverture, on va avoir une erreur 9 ("indice n'appartenant pas à la sélection").
Dans l'exemple ci-dessus j'ai mis 2 pour garder le classeur maître ouvert. Il faudrait mettre 1 pour le fermer, ce qui ne ferme pas Excel.

Super Optimix,

Je te remercie pour ta solution. En recherchant sur le net, j'ai également lu la possibilité d'appuyer sur SHIFT + croix rouge pour fermer le classeur, et à ce moment la, tous les classeurs se ferment en même temps !

Cette solution pourra peut-être également servir à d'autres si besoin.

Merci encore !

Rechercher des sujets similaires à "code ouvrir classeurs meme temps"