Bonjour,
je reprends ce fil après quelques années car cette solution m'intéresse beaucoup.
J'ai également besoin de consolider plusieurs classeurs (à un onglet mais il pourrait m'arriver d'en avoir besoin pour plusieurs onglets) en un seul.
J'aimerais que l'onglet importé garde son nom d'origine ou alors ocmme dans la solution proposée ci dessus le nom de son classeur d'origine.
Voilà le code que j'ai essayé :
Sub consolide()
Dim ClasseurOuvert As Workbook
ChDir ActiveWorkbook.Path
Set classeurMaitre = ActiveWorkbook
compteur = 1
nf = Dir("*.xls")
Do While nf <> ""
If nf <> classeurMaitre.Name Then
Set ClasseurOuvert = Workbooks.Open(Filename:=nf)
For k = 1 To Sheets.Count
Sheets(k).Copy After:=classeurMaitre.Sheets(classeurMaitre.Sheets.Count)
classeurMaitre.Sheets(classeurMaitre.Sheets.Count).Name = ClasseurOuvert.Name & compteur
compteur = compteur + 1
Next k
Workbooks(nf).Close False
End If
nf = Dir
Loop
End Sub
Seulement, cela fonctionne avec les deux premiers classueurs mais ensuite, un message d'erreur apparait : Run-timme error '1004', invalid name/ Cela concerne la ligne :
classeurMaitre.Sheets(classeurMaitre.Sheets.Count).Name = ClasseurOuvert.Name & compteur
Quelqu'un peut-il m'aider là dessus ?
Merci !