Bonjour,
J'aurais besoin de récupérer la date d'un fichier, est-ce possible?
Cordialement,
Bonjour,
J'aurais besoin de récupérer la date d'un fichier, est-ce possible?
Cordialement,
Bonjour
C'est possible en cherchant dans la(hé oui... )et en adaptant
http://excel.developpez.com/faq/?pag...TriFichiersRep
Oui mais je n'ai pas accès à la FAQ, je suis assez limité dans mes accès. Je ne peux donc lire le lien posté.
Bonjour,
Si vous n'avez pas accès à cette page voici le code fournis par SilkyRoad
La procédure liste les fichiers d'un répertoire par ordre décroissant de création.
Vous trouverez en commentaire les paramètres pour utiliser la date de dernière modification des fichiers.Bonne journée,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66 Option Explicit Sub triDecroissant_Fichiers_DateDreation() Dim Fichier As String, Chemin As String ' 'Nécessite d'activer la référence "Microsoft Scripting RunTime" ' Dim Fso As Scripting.FileSystemObject Dim FileItem As Scripting.File Dim Tableau() Dim Plage As Range Dim m As Integer, i As Integer Dim z As Byte, Valeur As Byte Dim Cible As Variant '---liste les fichiers du répertoire --- Chemin = "C:\Documents and Settings\dossier" Fichier = Dir(Chemin & "\*.*") 'pour filtrer sur un type de fichiers (par exemple xls) 'Fichier = Dir(Chemin & "\*.xls") 'Boucle sur les fichiers Do m = m + 1 ReDim Preserve Tableau(1 To 2, 1 To m) Tableau(1, m) = Fichier Set Fso = CreateObject("Scripting.FileSystemObject") Set FileItem = Fso.GetFile(Chemin & "\" & Fichier) 'Récupère la date de création Tableau(2, m) = Left(FileItem.DateCreated, 10) 'Pour récupérer la date de dernière modification 'Tableau(2, m) = Left(FileItem.DateLastModified, 10) 'Pour récupérer la taille du fichier 'Tableau(2, m) = Left(FileItem.Size, 10) Fichier = Dir Loop Until Fichier = "" '---Trie les fichiers par ordre décroissant de création --- Do Valeur = 0 For i = 1 To m - 1 If CDate(Tableau(2, i)) < CDate(Tableau(2, i + 1)) Then For z = 1 To 2 Cible = Tableau(z, i) Tableau(z, i) = Tableau(z, i + 1) Tableau(z, i + 1) = Cible Next z Valeur = 1 End If Next i Loop While Valeur = 1 '--- Transfère les données dans la feuille de calcul --- Set Plage = Worksheets("Feuil2").Range("A1") Set Plage = Plage.Resize(UBound(Tableau(), 2), UBound(Tableau())) Plage = Application.Transpose(Tableau()) End Sub
![]()
« Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
- Confucius -
Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
Tous les cours Office
Solutions d'Entreprise
![]()
Je me suis aidée de l'exemple pour récupérer ma date.
Toutefois j'ai un problème car la macro marche bien mais ne me permet de récupérer la date que sur des fichiers présents sur le disque dur, or je dois récupérer la date sur un fichier en réseau.
Je pense que le problème est mon FileSystemObject.
Merci pour votre aide.
Cordialement,
Voici ma macro :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub récupère_date() Dim Fichier As String Dim FileItem As Scripting.File Dim Fso As Scripting.FileSystemObject Fichier = "http://dmb.pcinfo.ineppsa.com/doc/304808656.pc1fm" Set Fso = CreateObject("Scripting.FileSystemObject") Set FileItem = Fso.GetFile("http://dmb.pcinfo.ineppsa.com/doc/304808656.pc1fm") Sheets("Diane").Cells(1, 8) = FileItem.DateLastModified End Sub
Partager