Sub SelectionnerRepertoireImage()
' Sélection du répertoire
' Copie du nom de TOUS les fichiers images du répertoire dans le tableau
Dim Repertoire
Dim i As Integer
Dim n As Integer
Dim Ligne As Integer
Dim FichierImage As Object
Dim NomCourtImage As String
    Application.ScreenUpdating = False
    With Application.FileDialog(msoFileDialogOpen)
    ' Indiquer le chemin complet du Repertoire par défaut
        .InitialFileName = "C:\Users\" & Environ("username") & "\Documents\"
        .AllowMultiSelect = True
        .InitialView = msoFileDialogViewLargeIcons
        .Filters.Add "Images", "*.gif; *.jpg; *.jpeg", 1
        .Show
        If .SelectedItems.Count > 0 Then
            Repertoire = .InitialFileName
            Range("NOM_REP_IMG") = Repertoire
            ActiveSheet.Range(TAB_IMAGES).ClearContents
            i = 0
            ActiveSheet.Range(TAB_IMAGES).Resize(ActiveSheet.Range(TAB_IMAGES).Rows.Count, ActiveSheet.Range(TAB_IMAGES).Columns.Count).Name = TAB_IMAGES
            For i = 1 To .SelectedItems.Count
                NomCourtImage = Mid(CStr(.SelectedItems(i)), InStrRev(CStr(.SelectedItems(i)), "\") + 1)
                ActiveSheet.Range(TAB_IMAGES).Cells(i, 1) = NomCourtImage
            Next i
            ActiveSheet.Range(TAB_IMAGES).Resize(i, ActiveSheet.Range(TAB_IMAGES).Columns.Count).Name = TAB_IMAGES
            
            ' Tri du tableau par nom image croissant
            ActiveSheet.Sort.SortFields.Clear
            ActiveSheet.Sort.SortFields.Add _
                Key:=Range(TAB_IMAGES).Columns(1), _
                SortOn:=xlSortOnValues, _
                Order:=xlAscending, _
                DataOption:=xlSortNormal
            With ActiveSheet.Sort
                .SetRange Range(TAB_IMAGES)
                .Header = xlGuess
                .MatchCase = False
                .Orientation = xlTopToBottom
                .SortMethod = xlPinYin
                .Apply
            End With
            MsgBox .SelectedItems.Count & " images dans le répertoire sélectionné" & vbCrLf & "Le tableau est trié sur le nom", vbInformation
        Else
            RepertoireAvecImages = False
        End If
    End With
    Application.ScreenUpdating = True
End Sub