Boucle sur tous les classeurs sauf celui lançant la macro

Bonjour à toutes et tous,

Je me suis inspiré du forum et tâtonnements pour l'ébauche de code ci-après.

L'objectif est à partir du classeur qui lance la macro de copier toutes les feuilles de tous les classeurs ouverts dans la même instance d'Excel. Les onglets devant être copiés sur le fichier qui lance la macro après la feuille 1 de ce dernier.

Mon code arrive à exécuter toutes ces étapes mais il fait aussi une copie des feuilles du classeur lançant la macro.

Comment puis-je faire pour isoler le classeur lançant la macro de la boucle ?

J'ai essayé plusieurs combinaisons de If, Thiswoorbook et Name sans succès.

Merci

Cordialement

Hugues

Sub COPIEREUILLES()

For Each wb In Application.Workbooks

  wb.Sheets.Copy After:=ThisWorkbook.Sheets(1)

Next

MsgBox ("Travail terminé!")

Range("A1").Select

End Sub

Bonjour

Essaie comme ça :

Sub COPIEREUILLES()

    For Each wb In Application.Workbooks
        If wb.Name <> ThisWorkbook.Name Then
            wb.Sheets.Copy After:=ThisWorkbook.Sheets(1)
        End If
    Next
    MsgBox ("Travail terminé!")
    Range("A1").Select
End Sub

Bye !

Bonjour gmb,

Merci beaucoup

Toujours aussi rapide et efficace

En plus de répondre 100% à mon besoin ton post me rassure car j'y étais presque, j'avais mal positionné mon If dans mes différents essais comme quoi quand tu bloques tu bloques

Merci

Cordialement

Hugues

Rechercher des sujets similaires à "boucle tous classeurs sauf celui lancant macro"