Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

recherche dossier avec inconnue

  • Initiateur de la discussion Initiateur de la discussion civodul
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

civodul

XLDnaute Nouveau
Bonjour à tous ,

je cherche un moyen d'éffectuer une recherche sur des dossiers dont le nom est connu en partie.

ex:C:\Documents and Settings\ZZ\Mes documents\10522 & 1\mondoc.doc

sur le dossier "10522 & 1" j'aimerais faire une recheche du type

Dossier = "C:\Documents and Settings\ZZ\Mes documents\10522 ""*"\"


Merci
 
Re : recherche dossier avec inconnue

Bonjour,

Une solution avec le code suivant qui recherche tous les dossiers du chemin fourni
avec ou sans l'emploi du caractère générique * (étoile).

Code à copier dans un module standard
Code:
Sub pmo_RechercheDossiers()
Dim var
Dim Chemin$
Dim Cible$
Dim Dossier$
Dim cpt&
Dim T()
var = InputBox("Tapez le nom d'un chemin (ex : c:\program files\mic*)", _
    "Recherche de dossier(s) avec le générique *")
If var = "" Then Exit Sub
If Right(var, 1) = "\" Then
  Chemin$ = var
Else
  Chemin$ = Mid(var, 1, InStrRev(var, "\"))
  If Right(var, 1) = "*" Then
    Cible$ = Trim(Mid(var, Len(Chemin$) + 1, Len(var) - Len(Chemin$) - 1))
  End If
End If
If Chemin$ = "" Then Exit Sub
Dossier$ = Dir(Chemin$, vbDirectory)
Do While Dossier$ <> ""
  If Cible$ <> "" Then
    If LCase(Cible$) = LCase(Mid(Dossier$, 1, Len(Cible$))) Then
      GoSub Traitement
    End If
  Else
    GoSub Traitement
  End If
  Dossier$ = Dir
Loop
If cpt& > 0 Then
  Sheets.Add after:=Sheets(Sheets.Count)
  Range("a1:a" & cpt& & "") = Application.WorksheetFunction.Transpose(T)
End If
Exit Sub
Traitement:
If Dossier$ <> "." And Dossier$ <> ".." Then
  If (GetAttr(Chemin$ & Dossier$) And vbDirectory) = vbDirectory Then
    cpt& = cpt& + 1
    ReDim Preserve T(1 To 1, 1 To cpt&)
    T(1, cpt&) = Dossier$
  End If
End If
Return
End Sub

Cordialement.

PMO
Patrick Morange
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
37
Affichages
893
  • Question Question
Microsoft 365 Pb avec Windows
Réponses
47
Affichages
3 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…