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

Recuperer la date de modification et la taille d'un fichier Dans excel

zwynyxy

XLDnaute Nouveau
Bonjour;

Je suis nouveau dans le forum et je suis debutant en VBA.

J'utilise actuellement une macro (que j'ai juste trouvé sur internet) dans Excel pour charger une liste des fichiers dans un Dossier (et sous dossiers Aussi) dans une feuille. La macro récupère le non du dans une colonne et génère le lien hypertexte vers ce fichier dans la deuxième colonne.

Je cherche à ajouter une troisième colonne qui récupère la taille du fichier et une quatrième qui récupère sa date de modification.

Voici le code que j'utilise dans un module
Code:
Public nb As Long
Sub Bouton1_Cliquer()
Dim chemin As String
    nb = 0
    chemin = "C:\Bibliotheque\Modèles\"
    Lister chemin
End Sub
 
Public Function Lister(chemin As String)
Dim fs, Rep As Variant, NewRep As String, Nomfich As String
    Set fs = CreateObject("Scripting.FileSystemObject")
    Lister = fs.GetFolder(chemin).Files.Count
    Nomfich = Dir(chemin & "\*.*")
 
    Do While Nomfich <> ""
        nb = nb + 1
        Cells(nb, 1) = Nomfich 'liste dans la feuille de calculs active
        Cells(nb, 2).Hyperlinks.Add Cells(nb, 2), chemin & "\" & Nomfich
        Nomfich = Dir()
    Loop
    'Pour chaque sous-répertoire, appel récursif de Lister
    For Each Rep In fs.GetFolder(chemin).SubFolders
        NewRep = Lister(Rep.Path)
    Next Rep
End Function
Merci d'avance de votre aide


Problème Résolu (voir le poste de Lolote83)
 
Dernière modification par un modérateur:

zwynyxy

XLDnaute Nouveau
Re : Recuperer la date de modification et la taille d'un fichier Dans excel

J'ai trouvé ces deux fonctions sur le site que tu m'as donner

DateLastModified : Date de dernière modification
Size : Taille en octet du fichier

quelqu'un peut me renseigner comment les insérer dans mon code?
 

Lolote83

XLDnaute Barbatruc
Re : Recuperer la date de modification et la taille d'un fichier Dans excel

Salut zwynyxy, thebenoit59,
A prioris dans ton fichier, tu veux une colonne le Nom du fichier, une autre pour le lien hypertexte et tu souhaiterais avoir ensuite des données pour Taille fichier et une autre pour Date de modification.
Dans ton code :
Code:
Do While Nomfich <> ""
        nb = nb + 1
        Cells(nb, 1) = Nomfich 'liste dans la feuille de calculs active
        Cells(nb, 2).Hyperlinks.Add Cells(nb, 2), chemin & "\" & Nomfich
        Nomfich = Dir()
    Loop
Il faut rajouter :
Code:
Do While Nomfich <> ""
        nb = nb + 1
        Cells(nb, 1) = Nomfich 'liste dans la feuille de calculs active
        Cells(nb, 2).Hyperlinks.Add Cells(nb, 2), chemin & "\" & Nomfich
        Cells(nb, 3)= Code pour la taille du fichier
        Cells(nb, 4)= Code pour la date de modification
        Nomfich = Dir()
    Loop

Comme tu as dis avoir trouvé sur le site de Jacques Boisgontier ces informations, il reste plus qu'à faire
@+ Lolote83
 

zwynyxy

XLDnaute Nouveau
Re : Recuperer la date de modification et la taille d'un fichier Dans excel

Merci Lolote83 pour ta réponse. j'ai essayé plutôt avec ça
Code:
Public nb As Long
Sub Bouton1_Cliquer()
Dim chemin As String
    nb = 0
    chemin = "N:\Bibliotheque\Modèles\500-599 Prod&Meth"
    Lister chemin
End Sub

Public Function Lister(chemin As String)
Dim fs, fl, Rep, f As Variant, NewRep As String, Nomfich As String
    Set fs = CreateObject("Scripting.FileSystemObject")
        Lister = fs.GetFolder(chemin).Files.Count
        Nomfich = Dir(chemin & "\*.*")
        fl = fs.GetFile(Lister & Nomfich)
    
    Do While Nomfich <> ""
        nb = nb + 1
        Cells(nb, 1) = Nomfich 'liste dans la feuille de calculs active
        Cells(nb, 2).Hyperlinks.Add Cells(nb, 2), chemin & "\" & Nomfich
        'Cells(nb, 3) =
        'Cells(nb, 4) =
        Nomfich = Dir()
    Loop
    'Pour chaque sous-répertoire, appel récursif de Lister
    For Each Rep In fs.GetFolder(chemin).SubFolders
        NewRep = Lister(Rep.Path)
    Next Rep
End Function

ça donne une erreur 53
 

Lolote83

XLDnaute Barbatruc
Re : Recuperer la date de modification et la taille d'un fichier Dans excel

Re salut,
ça se passe au niveau de cette ligne:
fl = fs.GetFile(Lister & Nomfich)
Comme je te l'ai dit, cela doit concerner le chemin car tu inscrits :
chemin = "N:\Bibliotheque\Modèles\500-599 Prod&Meth"
Peut être le & (Et commercial) au milieu pose problème.
N'ayant pas de fichier pour tester et n'ayant pas les mêmes répertoires, cela va être dur !!!!
@+ Lolote83
 

zwynyxy

XLDnaute Nouveau
Re : Recuperer la date de modification et la taille d'un fichier Dans excel

J'ai attaché le fichier excel que j'utilise.

ça marche pour le non et lien hypertexte et pas pour la date de modification et la taille.

(pour l'utiliser il suffit juste de remplacer le chemin du dossier par le chemin du dossier voulu)

regarde et dis moi qu'est ce que tu en pense
 

Pièces jointes

  • Liste_Fichiers.xlsm
    20.2 KB · Affichages: 60

Lolote83

XLDnaute Barbatruc
Re : Recuperer la date de modification et la taille d'un fichier Dans excel

Salut ZWYNYXY, MARC L,
Ton fichier en retour bien que MarcL t'ai donné le lien sur un autre site sur lequel tu as posé la même question et pour laquelle tu avais une réponse. Je m'en suis par ailleurs inspiré.
Merci à toi MarcL
@+ Lolote83
 

Pièces jointes

  • Copie de ZWYNYXY - Liste_Fichiers avec Taille et Date.xlsm
    22.2 KB · Affichages: 99

zwynyxy

XLDnaute Nouveau
Re : Recuperer la date de modification et la taille d'un fichier Dans excel

Bonjour Lolote83;

Merci beaucoup pour ton aide. c'est exactement ce que je cherche. je n'arrivais pas à intégrer les deux fonctions dans mon script.

Problème résolu!
 

kiki29

XLDnaute Barbatruc
Re : Recuperer la date de modification et la taille d'un fichier Dans excel

Salut, pourquoi multiposter ? cela n'encourage personne. voir ici ( c'est quasiment du tout cuit )
 

Pièces jointes

  • propriétés_02.jpg
    51.8 KB · Affichages: 83
Dernière édition:

Discussions similaires

Réponses
8
Affichages
879
Réponses
19
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…