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

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

dfuentes

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

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
381
Compte Supprimé 979
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…