VBA Ouvrir dossier dans ordre alphabétique

Bonjour à tous,

je fais face à un souci que je ne parviens pas à résoudre dans un code VBA bien que ce ne soit à mon avis, pas très compliqué. Mon code me permet d'ouvrir des fichiers dans un répertoire, et j'aimerais qu'il ouvre ses fichiers dans l'ordre alphabétique. J'ai le code suivant qui fonctionne mais qui n'ouvre pas les dossiers dans l'ordre alphabétique:

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)

    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

        Set Fso = CreateObject("Scripting.FileSystemObject")
        Set MainSheet = ThisWorkbook.Sheets("Simulations")
        BoucleFichiers = 0

       For Each Dossier In Fso.GetFolder(Chemin).SubFolders

            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 Dossier
    End Function

J'ai essayé d'utiliser un début de solution que SabV (membre du forum) m'a proposé mais je ne suis pas parvenu à inclure sa solution dans mon code.. La solution qu'il m'a proposé est la suivante:

Dim AL1 As Object
Set AL1 = CreateObject("System.Collections.ArrayList")
'................
For Each Fichier In Dossier.files
      AL1.Add Range(Fichier)
 Next

   AL1.Sort  'tri par ordre alpha
  r = AL1.Toarray()

   For i = LBound(r) To UBound(r)
       If Left(Fichier.Name, 11) = "SIMULATION_" Then
'................

Quelqu'un pourrait-il m'aider ? Merci d'avance !

SkillzZ

Rechercher des sujets similaires à "vba ouvrir dossier ordre alphabetique"