Sub Onglets()
Dim i%, chemin$, fichier$
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With ThisWorkbook
'---supprime les onglets existants sauf le 1er---
For i = .Sheets.Count To 2 Step -1
.Sheets(i).Delete
Next
.Sheets(1).Name = Chr(1)
'---crée les onglets---
chemin = .Path & "\" 'à adapter
fichier = Dir(chemin & "*.xls*")
While fichier <> ""
If fichier <> .Name Then
.Sheets.Add After:=.Sheets(.Sheets.Count)
.Sheets(.Sheets.Count).Name = fichier
End If
fichier = Dir
Wend
.Sheets(1).Delete
End With
End Sub
On peut les remplir en copiant les données et formats de la 1ère feuille de chaque fichier source :Et ensuite qu'est-ce qu'on en fait de ces onglets ?
Sub Onglets()
Dim i%, chemin$, fichier$, F As Worksheet
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With ThisWorkbook
'---supprime les onglets existants sauf le 1er---
For i = .Sheets.Count To 2 Step -1
.Sheets(i).Delete
Next
.Sheets(1).Name = Chr(1)
'---crée les onglets---
chemin = .Path & "\" 'à adapter
fichier = Dir(chemin & "*.xls*")
While fichier <> ""
If fichier <> .Name Then
.Sheets.Add After:=.Sheets(.Sheets.Count)
Set F = .Sheets(.Sheets.Count)
F.Name = fichier
With Workbooks.Open(chemin & fichier).Worksheets(1) 'ouvre le fichier
With .Range("A1", .UsedRange)
.EntireRow.Copy F.Cells(1) 'pour les formats
F.Cells(1).Resize(.Rows.Count, .Columns.Count) = .Value 'copie les valeurs
End With
.Parent.Close 'ferme le fichier
End With
F.Columns.AutoFit 'ajustement largeurs
End If
fichier = Dir
Wend
.Sheets(1).Delete
.Sheets(1).Activate
End With
End Sub