Bonjour à tous,

Je souhaite comme dit dans le sujet, récupérer la liste de tous les fichiers Excel au format (*.xlsm) qui se trouvent dans un dossier sur un OneDrive partagé.
Quand mes fichiers étaient sur mon lecteur local, j'utilisais le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
Dim i As Integer, Chemin As String, Fichier As String
Me.CommandButton_Appliquer.Enabled = False
Chemin = ThisWorkbook.Path & "\*.xlsm"
Fichier = Dir(Chemin)
    Do While (Len(Fichier) > 0)
            If InStr(Fichier, "Présences") _
            And IsFileOpen(ThisWorkbook.Path & "\" & Fichier) = False Then
                Me.ListBox_Atelier.AddItem Fichier
            Else
                'Test si le fichier est ou n'est pas le fichier en cours
                If InStr(Fichier, ThisWorkbook.Name) = 0 Then
                    'si ce n'est pas le fichier en cours puisqu'il est en lecture seul, on le note dans les fichiers bloqués
                    Me.ListBox_Fichiers_Ouverts.AddItem Fichier
                Else
                    'si c'est le fichier en cours on l'inscrit dans les fichiers disponible
                    Me.ListBox_Atelier.AddItem Fichier
                    'et on le pré-sélectionne dans la liste
                    Me.ListBox_Atelier.ListIndex = Me.ListBox_Atelier.ListCount - 1
                End If
            End If
        Fichier = Dir()
    Loop
j'ai trouvé des explications sur un post d'Igloobel qui fonctionne très bien mais qui oblige à sélectionner les fichiers désirés pour en avoir la liste.

https://www.developpez.net/forums/d1.../#post10844951
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
    'ouverture d'un fichier par boite FileDialog
'********************************************************************************
    'Declaration d'une variable comme objet FileDialog
    Dim fd As FileDialog
 
    'Creation d'un objet FileDialog comme un File Picker dialog box.
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
 
    'Déclaration d'une variable contenant le "path" de style variant
    Dim vrtSelectedItem As Variant 'obligatoirement de type variant
 
    With fd
 
        'donner le Path initial lors de l'affichage de la boite filedialog.
        'Cela permet d'arriver directement sur le repertoire addéquat
        '.InitialFileName = "D:\Travail_tempo\Bons\Remises\"
        .InitialFileName = "\\Serv.com\Consultation\Donnees_techniques\LOG"
 
        'Utilisation de la méthode show pour afficher le File Picker de la boite de dialogue et
        '   retourne la valeur de l'action de l'utililisateur.
        If .Show = -1 Then
 
           'Dans le cas d'ue plusieurs saisies
             'Step through each string in the FileDialogSelectedItems collection.
            For Each vrtSelectedItem In .SelectedItems
 
                'vrtSelectedItem est un String contenant le "path"  de chaque item selectionné.
                'affichage du "PATH et du fichier selectionné" dans une boite message
                'MsgBox "Vous avez sélectionné : " & vrtSelectedItem
                file_select = vrtSelectedItem
            Next vrtSelectedItem
 
        'Au cas ou l'utilisateur appuis sur Cancel...
        Else
            'Dans ce programme je ne fais rien.
        End If
    End With
Existe-t-il un moyen de récupérer cette liste de fichiers Excel de façon transparente sans faire apparaitre une fenêtre FileDialog nécessaire pour faire une sélection dont je n'ai pas besoin puisque tous les fichiers (filtrés par un *.xlsm) doivent être pris en compte ?

Merci de votre aide