Lister fichier d'un dossier

Bonjour,

je ne me rappel plus la macro pour faire apparaître dans une colonne tous les noms de fichiers dans un dossier avec le lien dessus

Merci .

Bonjour

voici

Cordialement

Bonjour Amadéus,

Super

j'ai juste un souci .

Le chemin je l'indique où ?

P:\Donnees\MemoExcel\MemoExcelTuto

Merci

Bonjour,

Voici une solution

Option Explicit

Sub TestListeFichiers()
    Dim Dossier As String

    'Définit le répertoire pour débuter la recherche de fichiers.
    '(Attention à ne pas indiquer un répertoire qu contient trop de sous-dossiers ou de
    'fichiers, sinon le temps de traitement va être très long).
    Dossier = "P:\Donnees\MemoExcel\MemoExcelTuto"

    'Appelle la procédure de recherche des fichiers
    ListeFichiers Dossier

    'Ajuste la largeur des colonnes A:E en fonction du contenu des cellules.
    Columns("A:E").AutoFit
    MsgBox "Terminé"
End Sub

Sub ListeFichiers(Repertoire As String)
    '
    'Nécessite d'activer la référence "Microsoft Scripting RunTime"
        'Dans l'éditeur de macros (Alt+F11):
        'Menu Outils
        'Références
        'Cochez la ligne "Microsoft Scripting RunTime".
        'Cliquez sur le bouton OK pour valider.

    Dim Fso As Scripting.FileSystemObject
    Dim SourceFolder As Scripting.Folder
    Dim SubFolder As Scripting.Folder
    Dim FileItem As Scripting.File
    Dim i As Long

    Set Fso = CreateObject("Scripting.FileSystemObject")
    Set SourceFolder = Fso.GetFolder(Repertoire)

    'Récupère le numéro de la dernière ligne vide dans la colonne A.
    i = Range("A65536").End(xlUp).Row + 1

    'Boucle sur tous les fichiers du répertoire
    For Each FileItem In SourceFolder.Files
        'Inscrit le nom du fichier dans la cellule
        Cells(i, 1) = FileItem.Name
        'Ajoute un lien hypertexte vers le fichier
        ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 1), _
            Address:=FileItem.ParentFolder & "\" & FileItem.Name
        'Indique la date de création
        'Cells(i, 2) = FileItem.DateCreated
        'Indique la date de dernier acces
        'Cells(i, 3) = FileItem.DateLastAccessed
        'Indique la date de dernière modification
        'Cells(i, 4) = FileItem.DateLastModified
        'Nom du répertoire
        'Cells(i, 5) = FileItem.ParentFolder

        i = i + 1
    Next FileItem

    '--- Appel récursif pour lister les fichier dans les sous-répertoires ---.
    For Each SubFolder In SourceFolder.subfolders
        ListeFichiers SubFolder.Path
    Next SubFolder

Bonjour Amadeus,

je voulais me servir de ta macro mais j'ai un bug au niveau de

With Application.FileSearch

Message d'erreur

Code erreur 445
cet objet ne génère pas cette action

Merci

Bonjour

Comme précisé, ce code n'opère que sur les xls

Cordialement

Bonjour à tous,

Depuis que j'ai ajouté cette fonction à mon fichier, j'ai une erreur d’exécution 1004 erreur définie par l'application ou par l'objet

Et voici la ligne qui arrive en erreur.

Sheets("Sélection").Range("H5:O6").Interior.Color = RGB(255, 255, 255) 'BLANC

Dans référence j'ai activé Microsoft Scripting Runtime, j'ai aucune idée de ce qui bloque

Bonjour,

La première question est la suivante :

As-tu une feuille dont le nom de l'onglet est précisément : Sélection ....???

Oui, tout fonctionne bien je rajoute le code, le code fonctionne aussi j'ai la liste des fichiers,

mais après toutes les macro avec interior.color ne fonctionne plus

Re,

J'avoue ne pas comprendre ce qui se passe ...

L'instruction suivante fonctionne correctement :

Range("H5:O6").Interior.Color = RGB(255, 255, 255)

Une fois que j'ai fait appel à cette macro, les macro avec interior.color ne fonctionne plus

En essayant de trouver une solution je me suis aperçus que si je change de feuille et que je revient dessus ça ne plante plus bizarre

Re,

Est-ce-que tu as des macros évènementielles qui pourraient interférer ... ?

En tout état de cause, content que tu aies pu trouver la solution ..

oui beaucoup lol, puis pour lancer mes macros je n'utilise pas d'image

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$B$27:$B$29" Then
Call ......
End If

Re,

Je pense que l'obstacle que tu rencontres ... est dû à un conflit entre ta macro et une de tes nombreuses macros évènementielles ...

Rechercher des sujets similaires à "lister fichier dossier"