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 :
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.
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
https://www.developpez.net/forums/d1.../#post10844951
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 ?
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
Merci de votre aide![]()
Partager