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
 
- 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