Passer au contenu

Visualiser le contenu d’un dossier

Solution : en écrivant un programme en VBA (Visual Basic édition Applications) qui exploite l’objet FileSearch

Si, dans un classeur créé avec Excel 2000 de Microsoft, vous avez besoin, dans un de vos programmes en VBA, d’afficher ou de connaître le nom des fichiers situés dans un répertoire, le meilleur moyen consiste à utiliser l’objet FileSearch. Pour cela, ouvrez un classeur Excel et appuyez sur la combinaison de touches + afin d’afficher Visual Basic Editor. Puis cliquez sur le menu Insertion et choisissez Module. Recopiez le listing ci-dessous. Sauvegardez le classeur et le programme en cliquant sur l’icône Enregistrer de la barre d’outils de Visual Basic Editor ou en appuyant sur +.Basculez ensuite dans Excel en fermant Visual Basic Editor. Pour exécuter la macro, appuyez sur +, sélectionnez RecupFichier et activez [exécuter]. Dans la fenêtre qui s’affiche, saisissez le chemin d’un dossier et validez par [ok] pour poursuivre l’exécution du programme. Les noms du dossier et des fichiers apparaîtront dans une fenêtre de dialogue. Pour afficher des types de fichiers particuliers portant une extension spécifique, modifiez la ligne commençant par .FileName. Par exemple, pour voir apparaître le nom des classeurs Excel dans la fenêtre de résultat, remplacez .FileName = “*.*” par .FileName=”*.xls”. Notez enfin que ce programme fonctionne également avec Word et Powerpoint.Listing :
Sub RecupFichier()
Dim Compteur1 As Integer
Dim ObjetTrouve As FileSearch
Dim ListeFichiers As String
Dim Dossier As String
Dossier = InputBox(“Indiquez le répertoire à afficher”, “Liste de fichiers”, CurDir())
If Dossier = “” Then
MsgBox (“Opération annulée.”)
End
End If
ListeFichiers = Dossier & Chr(13) & Chr(13)
Set ObjetTrouve = Application.FileSearch
With ObjetTrouve
.NewSearch
.LookIn = Dossier
.SearchSubFolders = False
.FileName = “*.*”
.Execute
If .FoundFiles.Count > 0 Then
For Compteur1 = 1 To .FoundFiles.Count
ListeFichiers = ListeFichiers & .FoundFiles(Compteur1) & Chr(13)
Next Compteur1
Else
ListeFichiers = ListeFichiers & “Pas de fichiers trouvés.”
End If
MsgBox ListeFichiers
End With
End Sub

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Filigrane Press