Recherche de fichiers

XWinnieX Messages postés 71 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 20 septembre 2004 - 14 juin 2004 à 17:52
XWinnieX Messages postés 71 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 20 septembre 2004 - 15 juin 2004 à 15:32
J'aurai aimé connaitre l'api qui sert à rechercher un fichier à partir d'un dossier (Variable chemin)
pour pouvoir faire une liste des fichiers de ce dossier et de tout ceux contenus dans les sous dossiers

Merci d'avance

5 réponses

plaineR Messages postés 237 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 6 décembre 2005 4
14 juin 2004 à 18:37
Il ne s'agit pas d'une API mais d'une fonction VB qui s'appelle DIR. Fais une recherche sur le site sur cette fonction et tu auras plein d'exemples pour voir comment elle fonctionne.
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
14 juin 2004 à 18:38
Salut XWinnieX
Pas besoin d'API : regarde l'instruction DIR dans l'aide

Vala
Jack
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
14 juin 2004 à 21:11
Salut les gars, entre nous l'instruction DIR c un peu ch.... à manipuler, surtout que ça bug souvent.

Pourquoi ne pas utiliser le FileSystemObject ?
Perso, je trouve que ça marche dans tous les cas qui m'intéressent et ça offre plus de possibilités et d'infos en moins de lignes de code, donc pourquoi s'en priver ?

G déjà livré ce code +sieurs fois ds le forum, va falloir que je fasse un tuto un jour, comme ça, il n'y aura plus cette question ou alors il suffira de donner l'adresse.

' Ds une form, un bouton (command1) et une listbox (list1)

'Sélectionner "Microsoft Scripting Runtime" dans Projet/Références

Private Sub Rechercher_Fichiers(Dossier As String)
Dim fso As FileSystemObject
Dim fld As Folder
Dim subfld As Folder
Dim fl As File

' Création du FileSystemObject
Set fso = CreateObject("Scripting.FileSystemObject")
' Set du dossier à parcourir
Set fld = fso.GetFolder(Dossier)
' Listage des fichiers du dossier
For Each fl In fld.Files
' si tu veux limiter à une extension ds ce cas .doc
If Right(fl.Name, 4) = ".doc" Then
List1.AddItem Dossier & fl.Name
End If
'sinon pour tous
List1.AddItem Dossier & fl.Name
Next
' Recherche récursive des fichiers dans les sous-dossiers
For Each subfld In fld.SubFolders
Rechercher_Fichiers Dossier & subfld.Name & ""
Next
set fso = nothing
End Sub

Private Sub Command1_Click()
Dim Dossier_Depart As String

Screen.MousePointer = vbHourglass
' Dossier de départ
Dossier_Depart = "C:" ' toujours terminer la chaine par un ""
' Rechercher les fichiers
Rechercher_Fichiers Dossier_Depart
Screen.MousePointer = vbDefault
MsgBox "Recherche terminée"

End Sub

Merci pour vos critiques que j'espère constructives

Cordialement

CanisLupus
XWinnieX Messages postés 71 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 20 septembre 2004
15 juin 2004 à 15:30
Hello !!!

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
XWinnieX Messages postés 71 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 20 septembre 2004
15 juin 2004 à 15:32
Oula j'me suis loupé dans ma réponse là...

Bon je recommence

le filesystemobject marche très très bien mais c'était juste pour savoir si la recherche n'aurait pas été plus rapide en passant par une api...

Merci les gars...
Rejoignez-nous