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

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 !

D

dfuentes

Guest
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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…