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

Liste conditionnelle des dossiers d'un répertoire

  • Initiateur de la discussion Initiateur de la discussion fb62840
  • 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 !

fb62840

XLDnaute Impliqué
Bonjour à toutes et tous,

Je cherche à rédiger une macro qui me permettrait de lister les dossiers contenu dans un répertoire.
L'identification de ce répertoire est saisie en cellule B3.
Si le nom ne commence pas par MS alors il ne faut pas le mettre dans la liste, il faut l'ignorer.

Merci beaucoup pour votre aide
Fabrice
 

Pièces jointes

Re : Liste conditionnelle des dossiers d'un répertoire

Bonsoir,

Un peu trop rapide dans ma réponse et dans mon explication, je corrige :

Tout d'abord un grand merci pour votre aide, et votre réponse rapide.
L'ensemble permet effectivement de lister l'intégralité des dossiers à l'exception de ceux dont le nom commence par "AB" (à définir au cas par cas).

Par contre, ce serait plutôt l'inverse qui me permettrait peut être d'arriver à mes fins, en fait. D'une part il faudrait n'afficher que ceux commençant par "AB" et ne pas afficher tous les autres, d'autre part, il n'est pas nécessaire d'afficher les dossiers au delà du premier niveau de dossier contenu dans le répertoire (voir ci dessous l'explication)

par exemple,

Si je cherche à afficher la liste des dossiers dans le répertoire G:\Ordon1\Mes\TrVm
et que les dossiers contenus dans ce dossier TrVm contiennent également des dossiers, il ne faudrait pas les afficher (seuls ceux contenu dans le parent TrVm seraient à afficher.

Merci pour votre aide,
Fabrice

Merci,
Fabrice
 
Dernière édition:
Re : Liste conditionnelle des dossiers d'un répertoire

Bonsoir,

J'ai finalement trouvé un moyen (sans doute pas le code le plus propre qui soit, mais ça marche)

J'ai modifié le code ainsi :
Code:
If ExclureRepNeCommencantPasPar$ > "" Then
   If LCase(Left(Rep.Name, Len(ExclureRepNeCommencantPasPar$))) = LCase(ExclureRepNeCommencantPasPar$) Then
      NbrDeRep = NbrDeRep + 1: Cells(NbrDeRep, 1) = Rep.Name
   End If
Else
   'NbrDeRep = NbrDeRep + 1: Cells(NbrDeRep, 1) = Rep.Name
'C'est en supprimant l'exécution de cette ligne après Else que j'ai obtenu le résultat voulu
End If

Si un code plus propre est disponible je suis preneur.

merci encore,
Fabrice
 
Re : Liste conditionnelle des dossiers d'un répertoire

re

ok ! donc comme ceci !

Code:
Private Sub LoadArboresSeulSuite_ByRef(ByRef Rep, NbrDeRep) 'appel récursif
If ExclureRepNeCommencantPasPar$ > "" Then
   If LCase(Left(Rep.Name, Len(ExclureRepNeCommencantPasPar$))) = LCase(ExclureRepNeCommencantPasPar$) Then
      NbrDeRep = NbrDeRep + 1: Cells(NbrDeRep, 1) = Rep.Name
   End If
End If
On Error Resume Next
For Each SousRep In Rep.SubFolders
 LoadArboresSeulSuite_ByRef SousRep, NbrDeRep
Next
End Sub

EDIT
ceci me semble contradictoire !

Si je cherche à afficher la liste des dossiers dans le répertoire G:\Ordon1\Mes\TrVm
et que les dossiers contenus dans ce dossier TrVm contiennent également des dossiers,
il ne faudrait pas les afficher (seuls ceux contenu dans le parent TrVm seraient à afficher.
 
Dernière édition:
- 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
2
Affichages
640
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…