Extraire une liste de fichiers avec auteur, date de mise à jour...

MlleDaria

XLDnaute Nouveau
Bonjour,

Je dispose d'un sharepoint et je souhaite extraire dans Excel la liste de tous les fichiers contenus dans une librairie avec le type de doc, le chemin, le titre, un lien vers le fichier, date de création, date de mise à jour, auteur.

J'arrive à le faire pour toutes les propriétés sauf pour l'auteur.
Avez-vous une idée sur comment adresser le problème ?
J'ai trouvé une référence aux objets "DSO" mais je ne sais pas comment l'appliquer avec ce code.

Code:
Sub ListeFichiers(Repertoire As String) ' Fonction
    '
    '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
    
    On Error Resume Next
    
        'Repository
        Cells(i, 1) = Dossier.Value
    
        'Inscrit le nom du fichier dans la cellule
        Cells(i, 2) = FileItem.Name
        'Ajoute un lien hypertexte vers le fichier
        ActiveSheet.Hyperlinks.Add Anchor:=Cells(i, 1), _
            Address:=FileItem.ParentFolder & "\" & FileItem.Name
            
        'Inscrit le nom du fichier dans la cellule
        Cells(i, 3) = FileItem.Name
        
        'Type de document
        Cells(i, 4) = FileItem.Type
        
        'Nom du répertoire - Folder 1
        Cells(i, 5) = FileItem.ParentFolder
        
        'Nom du répertoire - Folder 2
        Cells(i, 6) = Cells(i, 5)
        
        
        'Indique la date de création
        Cells(i, 7) = FileItem.DateCreated
        
        'Indique la date de dernier acces
        Cells(i, 8) = FileItem.DateLastAccessed
              
        
        'Indique la date de dernière modification
        Cells(i, 9) = FileItem.DateLastModified
        
        
        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
 
End Sub

Merci.

Cordialement,

Daria.
 

Pierrot93

XLDnaute Barbatruc
Re : Extraire une liste de fichiers avec auteur, date de mise à jour...

Bonjour,

regarde ce lien dans la FAQ, les pages de notre ami MichelXLD:) :
https://www.excel-downloads.com/thr...udits-de-formules-repertoires-fichiers.92364/

tu y trouveras entre autre ceci :

Code:
Sub propriétésFichiers()
'http://www.microsoft.com/resources/documentation/windows/2000/server/scriptguide/en-us/sas_fil_lunl.mspx 
'Necessite d'activer la reference Microsoft Shell Controls and Automation
Dim objShell As Shell
Dim objFolder As Folder
Dim strFileName As folderItem
Dim Resultat As String
Dim i As Byte
Set objShell = createObject("Shell.Application")
Set objFolder = objShell.nameSpace("C:\Documents and Settings\michel\dossier\excel") 'repertoire cible
For Each strFileName In objFolder.Items 'boucle sur tous les elements du repertoire
If strFileName.isFolder = False Then 'pour que les sous dosssiers ne soient pas pris en comptes
Resultat = ""
For i = 0 To 34
Resultat = Resultat & objFolder.getDetailsOf(strFileName, i) & vbLf
Next
msgBox Resultat
End If
Next
End Sub

bon après midi
@+
 

MlleDaria

XLDnaute Nouveau
Re : Extraire une liste de fichiers avec auteur, date de mise à jour...

Merci beaucoup Pierrot ( et Michel :) )
Je n'ai pas réussi à lancer le code. Je crois qu'il manque une library mais je ne sais pas laquelle; j'ai pourtant bien ajouté "Microsoft Shell Controls and Automation"

Mais typiquement, sur la déclaration des variables, il ne reconnait la dimension Folder.
Saurais-tu me renseigner s'il te plait ?
 

Pierrot93

XLDnaute Barbatruc
Re : Extraire une liste de fichiers avec auteur, date de mise à jour...

Re,

fonctionne chez moi sous 2003 avec la reference Microsoft "Shell Controls and Automation" d'activée....
Essaye peut être en modifiant les types d'objet qui posent problème en "object"....
 

MlleDaria

XLDnaute Nouveau
Re : Extraire une liste de fichiers avec auteur, date de mise à jour...

Re-bonjour Pierrot,

Je n'y arrive toujours, je suis désolée. Il semble que la méthode "GetDetailsOf" ne fonctionne pas avec l'objet " strFileName"

Code:
Sub propriétésFichiers()
'http://www.microsoft.com/resources/documentation/windows/2000/server/scriptguide/en-us/sas_fil_lunl.mspx
'Necessite d'activer la reference Microsoft Shell Controls and Automation
Dim objShell As Shell
Dim objFolder As folder 'Nom des répertoires
Dim strFileName As FolderItem ' nom du fichier
Dim Resultat As String
Dim i As Byte

Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.Namespace("C:\Users\XXX\Documents") 'repertoire cible


For Each strFileName In objFolderItems 'boucle sur tous les elements du repertoire
If strFileName.isFolder = False Then 'pour que les sous dosssiers ne soient pas pris en comptes
Resultat = ""
For i = 0 To 34
Resultat = Resultat & objFolder.GetDetailsOf(strFileName, i) & vbLf
Next
MsgBox Resultat
End If
Next
End Sub

Serait-ce lié à ma version d'Excel (2007) ?
 

JCGL

XLDnaute Barbatruc
Re : Extraire une liste de fichiers avec auteur, date de mise à jour...

Bonjour à tous,
Salut Pierrot,

As-tu pensé à modifier le chemin :
C:\Users\XXX\Documents
Par ton chemin exact

Pour les références :
Capture_1.png

A + à tous
 

Pièces jointes

  • Capture_1.png
    Capture_1.png
    34.1 KB · Affichages: 193
  • Capture_1.png
    Capture_1.png
    34.1 KB · Affichages: 188

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 148
Membres
103 131
dernier inscrit
diaz.evelyne17