Autres Faire une recherche de sous-dossiers Windows (pas de fichiers) dans un dossier précis à partir de son nom contenu dans une cellule

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

Michou9

XLDnaute Occasionnel
Bonjour à tous
J'ai un fichier Excel (environ 500 lignes actuellement)
Dans la colonne A sont contenus des noms de sous dossiers
Je souhaiterais pouvoir faire une recherche de ces sous-dossiers Windows dans un dossier précis à partir de ces noms contenus dans les cellules de cette colonne
Les noms de ces sous-dossiers sont assez long
Je suis sous Excel 2007
Je ne sais pas si c'est réalisable ?
Je viens chercher de l'aide
Merci par avance
 
Solution
Bonsoir @Michou9

Avec votre fichier en Poste #5
VBA sans Module de classe.

VB:
Option Explicit
Option Compare Text

Sub Main()
' Procédure VBA :
' A1 = le chemin complet du dossier générale
' B2 = le chemin complet du (nom du dossier exact en A20) qui noyer dans l arborescence du dossier générale
' B2 = le Nom du dossier exact en A20 s'ouvrent automatiquement
' Recherche :
' A20 = Le Nom du dossier Exact (qui noyer dans l'arborescence du dossier générale)
    Application.ScreenUpdating = False
  
    Dim F1 As Worksheet
    Dim DossierRacine As String
    Dim DossierCherche As String
    Dim CheminTrouve As String
  
    Set F1 = Worksheets(ActiveSheet.Name)
  
    ' Récupération des paramètres
    DossierRacine = F1.Cells(1...
Oui c'est ce j'ai fini par comprendre puisque j'ai vu que tu avais mis chemin = ThisWorkbook.Path & "\"
Comme je souhaite laisser mon fichier avec tous les autres fichiers Excel
j'ai essayé de remplacer chemin = ThisWorkbook.Path & "\" par chemin = "F:\House\"
et "Dossier général" par "A-85"
Mais cela ne fonctionne pas
 
Effectivement j'ai mal dû adapter le code
Avec votre dernier code, c'est Ok

Mais c'est super long!!, Beaucoup trop long, j'ai trop de fichiers

Est-ce qu'il serait possible de ne pas lister les sous-dossiers
une fois lister par exemple le dossier "Dupond machin 500€ 200m"
ne pas lister les sous dossiers qui sont dedans ?

Ou autrement exclure les dossiers comportant un mot comme "Lien" "Photo" par exemple
 
Mais c'est super long!!, Beaucoup trop long, j'ai trop de fichiers
Salut,
combien de dossiers ?
parce qu' avec l'exemple de job75 , il ne faut que 9 ms chez moi. J' ai une autre méthode mais qui est plus compliquée à mettre en oeuvre et qui est intéressantes qu'en il y a énormément de dossiers :
Résultat typique :
Nombre de dossiersVBAAutre méthode
1005–10 ms1–3 ms
1 00020–40 ms3–5 ms
10 000150–300 ms5–15 ms
50 0001–3 secondes20–40 ms

Cela dépend aussi des niveaux de sous-dossiers
La récursion descend dans tous les niveaux, donc :
  • plus il y a de niveaux,
  • plus il y a de sous‑dossiers,
  • plus on fait d’appels récursifs.
👉 Ce n’est pas la profondeur en elle‑même qui coûte, mais le volume total de dossiers.

Le vrai goulot d’étranglement : ReDim Preserve

Nullosse
 
Bonjour nullosse

Là j'ai environ 200 dossiers, cela peut allez jusqu'à 500 dossiers
Pour les 200 cela mis plus de 5mn
Avec les sous dossiers, le nombre est d'environ 5 fois plus et cela peut aller jusqu'à 12 ou 15 sous-dossiers par dossier
C'est pour cela qu'il serait intéressant à ce limiter au seuls dossiers comportant le signe "€"
et à en exclure tous les sous dossiers
Les dossiers ne comportant le signe "€" et les sous-dossiers ne me sont d'aucune utilisée dans ce contexte
Maintenant je ne sais pas si cela est possible ??
 
Bonjour nullosse

Là j'ai environ 200 dossiers, cela peut allez jusqu'à 500 dossiers
Pour les 200 cela mis plus de 5mn
Avec les sous dossiers, le nombre est d'environ 5 fois plus et cela peut aller jusqu'à 12 ou 15 sous-dossiers par dossier
C'est pour cela qu'il serait intéressant à ce limiter au seuls dossiers comportant le signe "€"
et à en exclure tous les sous dossiers
Les dossiers ne comportant le signe "€" et les sous-dossiers ne me sont d'aucune utilisée dans ce contexte
Maintenant je ne sais pas si cela est possible ??
Je ne sais pas si j'ai bien compris :
tu as 200 à 500 dossiers à partir de la racine qui peuvent contenir un € dans leurs noms ? et dans ces dossiers tu as plein de sous-dossiers ?
C'est cela ? Il y a beaucoup de dossiers qui contiennent un € ?
 
tu as 200 à 500 dossiers à partir de la racine qui peuvent contenir un € dans leurs noms ?
Oui c’est bien cela

et dans ces dossiers tu as plein de sous-dossiers ?
Oui aussi

Les sous-dossiers des dossiers comportant un €, ne comportent pas de €

Pour être plus claire, je donne un exemple bidon, mais qui représente exactement mes dossiers

Machin truc chouette 500€ 120m 500m @2000 DpA
Machin truc chouette 500€ 120m 500m @2000 DpA\Lien
Machin truc chouette 500€ 120m 500m @2000 DpA\Photo
Machin truc chouette 500€ 120m 500m @2000 DpA\Genre
Machin truc chouette 500€ 120m 500m @2000 DpA\Info

Dans le cas présent on a donc un dossier concerné
Et ce dossier comporte4 sous-dossiers

Les dossiers comportant un € sont de 200 environ ce jour et peuvent montés à plus de 500
Il y a donc aussi des dossiers ne comportant pas de €
Les sous dossiers des dossiers comportant un € sont en général de 5 à 12
 
- 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
3
Affichages
868
Retour