Option Explicit
Dim Fichiers As Object, Classeur As Object, N As Integer, I As Integer, Ctr As Integer
Dim ListeClasseurs As New Collection
Dim C As Range
Dim Chemin As String
Sub transfert()
If [color=#FF0000]Worksheets.Count <> ListeClasseurs.Count[/color] Then
Columns('A:J').ClearContents
Range('A1').Select
For Ctr = Sheets.Count To 1 Step -1
If Sheets(Ctr).Name <> ActiveSheet.Name Then
SendKeys ('{ENTER}')
Sheets(Ctr).Delete
End If
ActiveSheet.Name = 'woalou'
Next
Set ListeClasseurs = Nothing
'Lister les Classeurs du dossier
Application.ScreenUpdating = False
Chemin = ThisWorkbook.Path
Set Fichiers = CreateObject('Scripting.FileSystemObject').getfolder(Chemin).Files
For Each Classeur In Fichiers
If Right(Classeur.Name, 3) = 'xls' Then
If Classeur.Name <> ThisWorkbook.Name Then
ListeClasseurs.Add Classeur.Name
End If
End If
Next
' ATTENTION AUX NOMS DE CLASSEURS ET DE FEUILLES
For N = 1 To ListeClasseurs.Count
Application.EnableEvents = False
Workbooks.Open Chemin & '\\' & ListeClasseurs(N)
Application.EnableEvents = True
With ActiveWorkbook
'ATTENTION A LA SELECTION DES CELLULES A COPIER
Range('a1:J65365').Copy
Workbooks('recensement.xls').Activate
Sheets.Add Worksheets(1)
ActiveSheet.Name = ListeClasseurs(N)
Range('a65365').End(xlUp).PasteSpecial
Application.CutCopyMode = False
.Close True
End With
Next N
SendKeys ('{ENTER}')
Sheets(Worksheets.Count).Delete
'tri des onglets par ordres alpha
On Error Resume Next
Dim I As Integer, J As Integer
For I = 1 To Sheets.Count
For J = 1 To I - 1
If UCase(Sheets(I).Name) < UCase(Sheets(J).Name) Then
Sheets(I).Move Sheets(J)
Exit For
End If
Next J
Next I
Else
Exit Sub
End If
End Sub