Script pour lister les fichiers et sous-dossiers mais pas le chemin complet

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

dfuentes

XLDnaute Junior
Bonjour à tous,

J'ai récupérer ce fichier que j'ai un peu bidouiller pour mes besoins pros et j'aimerais y apporter un changement mais je ne sais pas du tout comment faire. Dans la première colonne, le script liste le chemin complet vers le sous-dossier alors que moi, j'aimerais que ça ne liste que le nom du sous-dossier...

Merci d'avance. 🙂
 

Pièces jointes

Re : Script pour lister les fichiers et sous-dossiers mais pas le chemin complet

Bonjour,

vois le fichier joint, la modif. a été effectuée sur cette ligne :
.Cells(L, 1).Value = Mid(Chemin, InStrRev(Chemin, "\", Len(Chemin) - 1) + 1)
 

Pièces jointes

Re : Script pour lister les fichiers et sous-dossiers mais pas le chemin complet

Bonsoir, salut Softmama,
remplacer le bloc With-End with de MAJ feuille résultat par :
Code:
                    'MAJ feuille résultats
                    With ThisWorkbook.Sheets("Test")
                    s = Split(Left(Chemin, Len(Chemin) - 1), "\")
                        .Cells(L, 1).Value = s(UBound(s))
                        .Hyperlinks.Add Anchor:=.Cells(L, 2), Address:=Chemin & Fichier.Name, _
                                TextToDisplay:=Fichier.Name
                        .Cells(L, 3).Value = Fichier.DateCreated
                    End With
A+
 
Re : Script pour lister les fichiers et sous-dossiers mais pas le chemin complet

Dernière petite question : est-ce que vous savez s'il existe un moyen pour qu'à chaque mise à jour de ce listing, l'ordre des lignes précédemment trouvées ne soient pas modifiés ???

Merci d'avance et sincèrement pour votre aide... 🙂
 
Re : Script pour lister les fichiers et sous-dossiers mais pas le chemin complet

Re
Dernière petite question : est-ce que vous savez s'il existe un moyen pour qu'à chaque mise à jour de ce listing, l'ordre des lignes précédemment trouvées ne soient pas modifiés ???
Pas sûr d'avoir compris...tu veux que les résultats de la nouvelle mise à jour soient placées à la suite des données existantes (et donc que ces données ne soient pas effacées) ?
A+
 
Re : Script pour lister les fichiers et sous-dossiers mais pas le chemin complet

Re
peut-être comme cela (j'ai placé certaines lignes en commentaire car je pense qu'elles ne servent plus) :
Code:
Sub ScanClasseurs()
Dim Dossier As Object, Fichier As Object
Dim Chemin As String, CeFichier As String, ExtFichier As String
Dim TabDossiers As Variant
Dim L As Long, D As Long, s As Variant
    Chemin = CheminUser
    If Chemin = "" Then Exit Sub
    Application.ScreenUpdating = False
    'ThisWorkbook.Sheets("Test").Range("A2:B65536").Delete Shift:=xlUp
    CeFichier = ThisWorkbook.Name
    ExtFichier = UCase(Trim(ThisWorkbook.Sheets("Test").Range("Extension").Text))
    L = 1
    'Création du tableau des sous-dossiers existants
    TabDossiers = lstDossiers(Chemin, True)
    For D = 1 To UBound(TabDossiers)
        'Chemin du dossier (ou sous-dossier) à analyser
        Chemin = TabDossiers(D)
        If Right(Chemin, 1) <> "\" Then Chemin = Chemin & "\"
        'Analyse du dossier (ou sous-dossier)
        Set Dossier = CreateObject("Scripting.FileSystemObject").GetFolder(Chemin)
      For Each Fichier In Dossier.Files
            If Fichier.Name <> CeFichier Then
                    If ExtFichier = "" Or UCase(Right(Fichier.Name, 3)) = ExtFichier Then
                        'Liste les fichiers
                        'MAJ feuille résultats
                        
                        With ThisWorkbook.Sheets("Test")
                            L = .Range("A" & Rows.Count).End(xlUp).Row + 1
                        'L = DerLig + 1
                            s = Split(Left(Chemin, Len(Chemin) - 1), "\")
                            .Cells(L, 1).Value = s(UBound(s))
                            .Hyperlinks.Add Anchor:=.Cells(L, 2), Address:=Chemin & Fichier.Name, _
                            TextToDisplay:=Fichier.Name
                            .Cells(L, 3).Value = Fichier.DateCreated
                            'L = L + 1
                        End With
                    End If
            End If
        Next
    Next D
    Set Dossier = Nothing
    'Rétablit l'alerte de lien éventuelle dans les options Excel
    Application.ScreenUpdating = True
    MsgBox L - 1 & " fichiers trouvés !"
End Sub
A tester de ton côté car je l'ai fait vite fait.
A+
 
Re : Script pour lister les fichiers et sous-dossiers mais pas le chemin complet

Re
Ca fait des doublons comme
Tu n'avais pas parlé de gestion des doublons !
Ca ne complète pas la liste
Chez moi si puisque les dossiers renvoyés par la dernière procédure sont placés à la suite de la liste existante.
Sans explications plus claires et explicites je ne pourrai pas t'aider plus.
A+
 
Re : Script pour lister les fichiers et sous-dossiers mais pas le chemin complet

Désolé si j'ai pas été clair. 🙁

En fait, avec ton code, ça me rajoute à la suite la même liste mais actualisée. Du coup, je me retrouve avec une première liste suivi de la liste mise à jour, donc doublon...

Ce que je voudrais, c'est un truc qui se mette à jour au fur et à mesure.
 
Re : Script pour lister les fichiers et sous-dossiers mais pas le chemin complet

C'est juste GENIAL. Merci milles fois, c'est exactement ce que je voulais. 🙂

Tu crois que tu pourrais m'aider sur un autre post ou personne ne m'a répondu ? 😕
 
Re : Script pour lister les fichiers et sous-dossiers mais pas le chemin complet

Re
cf.fichier à tester (lancer la macro en appuyant sur le bouton Extraction que je t'ai créé afin de ne tester QUE cette macro).
A+



Bonjour

merci pour cette macro qui devrait faire tout ce que je recherche mais.... elle bug à cet endroit :
"For Each D In Dossier.subfolders"

pour info, je suis sur excel 2010 et windows 7 edition premium..

Merci d'avance
 
- 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

Retour