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

Lister repertoire films

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

whooki

XLDnaute Occasionnel
Bonjour à tous,

Voilà je souhaiterais lister le contenu d'un dossier "FILMS" dans un fichier Excel, en enlevant le chemin d'accès et l'extension ". avi". Sachant que dans ce dossier FILMS, il y a également des sous-dossiers comme "FILMS VACANCES" etc.. Je souhaiterais que tous les contenus des différents sous-dossiers soient lister dans un seul fichier Excel.

Merci par avance de votre aide.
 
Re : Lister repertoire films

Bonjour phlaurent55 ,

Merci de ta réponse cependant, ce n'est pas vraiment ce que je cherche à faire. Je souhaite lister le contenu de fichiers .avi dans un classeur.

merci de ton aide.
 
Re : Lister repertoire films

bonjour whooki, phlaurent55

voici un exemple en PJ

Code:
Option Explicit

Sub listFolder()

Dim myFileDialog As FileDialog, myFolderPath As String, myFso As FileSystemObject, myFolder As Folder
ThisWorkbook.Sheets("Feuil1").Cells.Clear

Set myFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
myFileDialog.AllowMultiSelect = False
myFileDialog.Show
myFolderPath = myFileDialog.SelectedItems.Item(1)
Set myFileDialog = Nothing

Set myFso = New FileSystemObject
Set myFolder = myFso.GetFolder(myFolderPath)

analyseFolder myFolder

End Sub



Public Sub analyseFolder(folderAnalysed As Folder)
Dim curCell As Range, curFolder As Folder, curFile As File
With ThisWorkbook.Sheets("Feuil1")
    Set curCell = .Cells(.Rows.Count, 1).End(xlUp).Offset(1, 0)
End With
For Each curFolder In folderAnalysed.SubFolders
    analyseFolder curFolder
Next curFolder
For Each curFile In folderAnalysed.Files
    If curFile.Type = "Clip vidéo" Then
        curCell.Value = Left(curFile.Name, Len(curFile.Name) - 4)
        Set curCell = curCell.Offset(1, 0)
    End If
Next curFile
End Sub

a+
 

Pièces jointes

Re : Lister repertoire films

Bonjour mromain,

Merci de ton aide, c'est exactement ce que je recherche mais ton code ne marche pas avec les fichiers.avi.

Ci-joint classeur que j'ai trouvé sur ce site. C'est exactement ce que je recherche mais sans le .avi sur le classeur excel.
 

Pièces jointes

Re : Lister repertoire films

Bonjour,

Je passe vite fait et vois cette demande qui me fais penser à un fichier qu'a commis mydearfriend et qui est comme d'hab, excellent. Tu peux lister les fichiers d'un répertoire, selon leur type si tu le souhaites... dans un fichier excel et ca donne leur emplacement, leur taille...

Deux versions ci-joint : j'utilise personnellement scandossiers (détail)...

Procédure :

- ouvrir le fichier
- aller en feuille "test"
- à droite vers les colonnes H... trouver le petit module
- remplir avec le mot "avi" (sans les guillemets) la case extension
- cliquer "analyse du dossier", choisir le répertoire
- et le tableau se met à jour... Il faut le vider pour recommencer...

Didier n'avait pas dû aller plus loin que ce stade là (vidage non compris) ; mais peut être a t'il depuis publié une nouvelle version sur son site (lien sur le fichier) que je t'invite à consulter.

A toi de voir si ca peut t'aider.
 

Pièces jointes

Dernière édition:
Re : Lister repertoire films

Merci beaucoup de ta réponse,

On se rapproche de ce que je souhaites faire, mais je n'ai pas besoin de tous ca, et ne sais pas trop comment modifier ce code pour enlever le.avi des fichiers listés.

Merci encore de votre aide
 
Re : Lister repertoire films

J'avais lu trop vite, je croyais que tu voulais les fichiers avi... Pardon..
Ce doit être possible, mais pas de mon ressort.

Avoue que c'est super tout de même ce petit fichier. Moi je l'adore... notamment couplé avec sa xla Doublonsmdf... ca permet de voir les fichiers en double sur un pc (pour les photos par exemple).
 
Re : Lister repertoire films

Bonsoir whooki, Brigitte

Ci dessous le code modifié de la procédure Sub ScanClasseurs() pour ne pas afficher l'extension du fichier proposé par Brigitte.
mDFScanFichiers(detail).xls
Code:
                    With ThisWorkbook.Sheets("Test")
 
                        .Cells(L, 1).Value = Mid(Fichier.Name, 1, InStr(1, Fichier.Name, ".") - 1)

                        '.Cells(L, 1).Value = Chemin
 
                    End With

A tester


JP
 
Re : Lister repertoire films

Bonsoir,

Super jp, j'espère que notre ami reviendra par ici.

On le met où ce bout de code supplémentaire, à la fin de la sub ? et ca supprime l'affichage des .avi ?

Merci à toi... moi en tout cas j'attends ta réponse et j'engrange, ca peut servir.
 
Re : Lister repertoire films

Re,

J'ai rajouté ce bout de code à la fin de subclasseurs, et ca bugge... Pas dû faire ce qu'il fallait.

Doit falloir plutôt remplacer qqchse, mais je vois pas noté "avi" dans ton code, jp...
 
Re : Lister repertoire films

Bonjour le fil,

Brigite, voici la macro de mydearfriend modifiée pour enlever les extensions des fichiers analysés :

Code:
Sub ScanClasseurs()
Dim Dossier As Object, Fichier As Object
Dim Chemin As String, CeFichier As String, ExtFichier As String[COLOR="Red"][B], ExtLongeur As Integer[/B][/COLOR]
Dim TabDossiers As Variant
Dim L As Long, D As Long
    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))
    [COLOR="Red"][B]ExtLongeur = Len(ExtFichier)[/B][/COLOR]
    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
                    L = L + 1
                    'MAJ feuille résultats
                    With ThisWorkbook.Sheets("Test")
                        .Cells(L, 1).Value = Chemin
                        .Hyperlinks.Add Anchor:=.Cells(L, 2), Address:=Chemin & Fichier.Name, _
                                TextToDisplay:=[COLOR="Red"][B]Left(Fichier.Name, Len(Fichier.Name) - (ExtLongeur + 1))[/B][/COLOR]
                        .Cells(L, 3).Value = Fichier.Type
                        .Cells(L, 4).Value = Fichier.Size
                        .Cells(L, 5).Value = Fichier.DateCreated
                    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

il suffit de remplacer l'originale par celle-ci.

a+
 
Re : Lister repertoire films

Bonjour à tous

Ci joint le fichier de mydearfriend modifié.
Ajout d'une feuille qui contient le nom des fichiers sans extension.

A tester

JP
 

Pièces jointes

Re : Lister repertoire films

Bonsoir,

Merci les gars d'être revenus nous éclairer.

J'avais compris que whooki souhaitait tous les fichiers, sauf les avi... Déjà pour ca que je comprenais pas la macro.

Donc la version modifiée par jp14 crée une feuille en plus (qui part de la première ?) et enlève les extensions sur cette feuille ?

Et celle de romain les enlève cash ?

Pfiouuuuuuu, zêtes doués tout de même.
 
Dernière édition:
- 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
12
Affichages
731
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…