VBA tri de dossier par ordre alphabétique
S
Bonjour à tous,
je suis bloqué dans mon code pour trier par ordre alphabétique, des dossiers que je parcours. Mon code est le suivant:
Dim i As Long
Sub Consolider_Simu3()
Dim S_Commande As Worksheet
Dim Chemin As String
Dim Extension As String
Set S_Commande = ThisWorkbook.Sheets("Commande")
Chemin = S_Commande.Cells(3, 2).Value
Extension = S_Commande.Cells(4, 2).Value
i = 6
Nb = BoucleFichiers(Chemin, Extension)
MsgBox (Nb & "groupements de données importés")
End Sub
Function BoucleFichiers(Chemin As String, Extension As String) As Integer
Dim Fso As Object
Dim Dossier As Object
Dim Fichier As Object
Dim WB_TargetFichier As Workbook
Dim TargetSheet As Worksheet
Dim MainSheet As Worksheet
Dim AL1 As Object
Set AL1 = CreateObject("System.Collections.ArrayList")
Set Fso = CreateObject("Scripting.FileSystemObject")
Set MainSheet = ThisWorkbook.Sheets("Simulations")
BoucleFichiers = 0
For Each Dossier In Fso.GetFolder(Chemin).SubFolders
AL1.Add Dossier
Next Dossier
AL1.Sort 'tri par ordre alpha
r = AL1.Toarray()
For i = LBound(r) To UBound(r)
For Each Fichier In Dossier.Files
If Left(Fichier.Name, 11) = "SIMULATION_" Then
Set WB_TargetFichier = Workbooks.Open(Dossier & "\" & Fichier.Name)
Set TargetSheet = WB_TargetFichier.Sheets("SIMULATION")
TargetSheet.Range("F6:G13").Select
Selection.Copy
MainSheet.Range("D" & i).PasteSpecial Paste:=xlPasteValues
MainSheet.Range("D" & i).PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
i = i + 22
BoucleFichiers = BoucleFichiers + 1
WB_TargetFichier.Close savechanges:=False
End If
Next Fichier
Next
End Function
J'ai surligné les parties relatives au tri que je souhaiterais réaliser. L'erreur qui m'est affichée lorsque j'execute mon code est: "Impossible de comparer deux éléments dans le tableau" et cette erreur apparaît au niveau de l'instruction AL1.Sort. Quelqu'un saurait-il pourquoi je rencontre cette erreur ?
Je vous souhaite une bonne journée,
SkillzZ
PS: Merci à SabV qui m'a déjà aidé sur le sujet !