Bonjour Thomas, Syl et le Forum
Bon alors donc voici un code qui va recopier toutes les feuilles de tous les classeurs ouverts sauf celui contenant la Macro, et ceci vers une feuille "Cible" de ce même classeur en prenant soin de reporter sur cette feuille "Cible", en Colonne "A" (à la ligne du commencement de la copie) le nom du classeur "Source" et, en Colonne "B", le Nom de la Feuille "Source" , les copies, quant à elles, s'incrémenteront en colonne "C"...
Tout ceci est tout de même subordonné à ce que tes données sources soient plus ou moins stucturées de la même manière.
Option Explicit
Sub CopierClasseurAvecNoms()
Dim WBCible As Workbook, WB As Workbook
Dim WSCible As Worksheet, WS As Worksheet
Dim L As Integer
Set WBCible = ThisWorkbook
With WBCible
Set WSCible = .Sheets("Cible")
End With
For Each WB In Workbooks
If WB.Name <> ThisWorkbook.Name Then
WSCible.Range(Range("C65536").End(xlUp).Address).Offset(1, -2) = WB.Name
For Each WS In WB.Sheets
WSCible.Range(Range("C65536").End(xlUp).Address).Offset(1, -1) = WS.Name
L = WSCible.Range("C65536").End(xlUp).Row + 1
WS.UsedRange.Copy Destination:=WSCible.Range("C" & L)
Next WS
End If
Next WB
End Sub
Bonne Matinée
@+Thierry