Recherche de dossiers [Résolu]

Signaler
Messages postés
15
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
22 février 2007
-
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
-
Bonjour,


Je suis sous VB6


Je veux avec FileSystemObjet chercher si un ou des répertoires existe.



exemple:


 en indiquant "999999" dans une textBox je veux savoir si il existe des répertoires appelés


999999-01-yw-wl


ou    999999-02-yw


ou    999999-02-acp 


Si j'écris   : If  Fso.FolderExists("999999*") ça marche pas


Si j'écris : if Fso.FolderExists("999999-01-yw-wl") je trouve que le dossier 999999-01-yw-wl


je veux savoir si  tous les répertoires qui contiennent 999999 dans le nom du dossier existent.


Comment pui-je faire


Merci d'avance pour votre aide.


 


Cordialement


ledebutant07 

3 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
Salut,
Si l'utilisation du filesystemobject n'est pas obligatoire pour toi tu peux essayer ceci

Dim RepRacine As String 
Dim Filtre As String 
Dim RepTmp As String 
RepRacine =  "C:" 
Filtre = "999999*" 

'récupère la premiere occurence
'correspondant au filtre
RepTmp =  Dir (RepRacine & Filtre, vbDirectory) 
While RepTmp <> "" 
    MsgBox RepTmp 
    'recupere l'occurence suivante
    RepTmp  = Dir 
Wend  

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
2237
Date d'inscription
lundi 29 mai 2006
Statut
Membre
Dernière intervention
29 mai 2008
10
Salut fais un tour sur codyx pour parcourir les répertoires (snippet de jrivet) et vérifie avec InStr pour savoir s'il y a 9999999 dans le nom du dossier!

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
 Bonsoir à tous

L'exemple, ci-dessous, permet de trouver les répertoires contenant "2006".
La recherche s'effectue sur tous les disks durs du server local.

Dim ShellO: Set ShellO = CreateObject("WScript.Shell")
Dim Fso: Set Fso = CreateObject("Scripting.FileSystemObject")
Dim Srepert : Srepert = "2006"
'Recherche de l'expression Srepert sur tous les disks durs
Dim lecteur : Set lecteur = Fso.Drives
For Each disque in lecteur If disque.IsReady True And disque.DriveType 2 Then
       'MsgBox disque.DriveLetter & ":"
    'Lister l'arborescence du dossier
       ListerDossier disque.DriveLetter & ":", Fichier, Liste
 End If
Next



Set ShellO Nothing: Set Fso Nothing: Set Fichier = NothingSet ObjRep Nothing: Set ObjSubRep Nothing: Set lecteur = Nothing
MsgBox  Liste,,"Répertoire(s) contenant l'expression " & Srepert



Function ListerDossier(Schemin, Fichier, Liste) 'Lister l'arborescence du dossier
On Error Resume Next
Dim ObjRep: Set ObjRep = Fso.GetFolder(Schemin) 'dossier
Dim ObjSubRep: Set ObjSubRep = ObjRep.SubFolders 'sous-dossiers
Dim ObjSubRepItem
    For Each ObjSubRepItem In ObjSubRep 'Traiter chaque sous-dossiers
        ListerDossier ObjSubRepItem.Path, Fichier, Liste 'traiter les sous-dossiers
        'MsgBox ObjSubRepItem.Path
         If InStr(1, ObjSubRepItem.Path, Srepert) > 0 Then Liste = Liste &vbCrLf& ObjSubRepItem.Path           'If Right(ObjSubRepItem.Path, Len(Srepert)) Srepert Then   Liste Liste &vbCrLf& ObjSubRepItem.Path
    Next
End Function  

jean-marc