Bonjour à toutes et tous,
J'ai réussi non sans mal (je débute en VBA) à adapter le code (je remercie d'ailleurs son auteur initial) ci après pour fusionner plusieurs fichiers en un seul (les feuilles de chacun des fichiers sources sont copier dans autant de feuilles dans le fichier compilé final).
Je n'arrive pas pas contre à faire en sorte que le nom des feuilles soient celui du fichier source sans l'extension.
J'ai essayé avec Name et Replace sans trouver la bonne syntaxe à écrire dans mon code et la boucle malgré mes recherches.
J'arrive à éventuellement écrire un nom de feuille définie suivie d'un numéro de compteur au cas ou il y'aurait plusieurs feuille sur le fichier source en reprenant ceci dans le code : Maitre.Sheets(Maitre.Sheets.Count).Name = " import " & compteur
Mais ma finalité serait de reprendre le non du fichier source sans l'extension (".xlsb" dans mon cas pratique).
Auriez vous une solution à me proposer ?
Merci
Cordialement
Hugues
Sub Fusion()
ChDir ActiveWorkbook.Path
Set Maitre = ActiveWorkbook
compteur = 1
nf = Dir("*.xlsb")
Do While nf <> ""
If nf <> Maitre.Name Then
Workbooks.Open Filename:=nf
For k = 1 To Sheets.Count
Sheets(k).Copy after:=Maitre.Sheets(Maitre.Sheets.Count)
'Maitre.Sheets(Maitre.Sheets.Count).Name = "Feuille" & compteur c'est cette partie du code que je voudrais adapter à ma situation
compteur = compteur + 1
Next k
Workbooks(nf).Close False
End If
nf = Dir
Loop
End Sub