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

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

  • ListingAvoirs.xls
    74.5 KB · Affichages: 211
  • ListingAvoirs.xls
    74.5 KB · Affichages: 223
  • ListingAvoirs.xls
    74.5 KB · Affichages: 219

Softmama

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

  • ListingAvoirs.xls
    92.5 KB · Affichages: 229
  • ListingAvoirs.xls
    92.5 KB · Affichages: 234
  • ListingAvoirs.xls
    92.5 KB · Affichages: 237

david84

XLDnaute Barbatruc
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+
 

dfuentes

XLDnaute Junior
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... :)
 

david84

XLDnaute Barbatruc
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+
 

david84

XLDnaute Barbatruc
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+
 

david84

XLDnaute Barbatruc
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+
 

dfuentes

XLDnaute Junior
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.
 

david84

XLDnaute Barbatruc
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+
 

Pièces jointes

  • ListingAvoirs (3).xls
    73.5 KB · Affichages: 186

bolem

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

Discussions similaires

Réponses
5
Affichages
375
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 398
Messages
2 088 067
Membres
103 711
dernier inscrit
amin Saadaoui