Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Récupérer la date de création d'un fichier

4 réponses
Avatar
Marco
Bonjour,

Est-ce possible ?

Peux-t'on r=E9cup=E9rer la date de derni=E8re modification d'un=20
fichier (txt) qui alimente un TCD et qui me permettrait de=20
faire apparaitre cette date dans mon tableau (sous la=20
forme par exemple : "Date de la derni=E8re mise =E0 jour du=20
tableau : jj/mm/aa").

Merci d'avance.

Marco

4 réponses

Avatar
papou
Bonjour Marco
Voici un exemple de code (de Ole P Erlandsen) qui liste les fichiers d'un
répertoire avec les informations date de création, de dernière modification
et de dernier accès pour chaque fichier sur un nouveau classeur Excel.
La procédure à exécuter est TestListFilesInFolder (L'option d'inclure ou
d'exclure les sous répertoires dans la recherche se trouve à la fin de cette
procédure)
Cet exemple devrait également interesser Fredo.
Cordialement
Pascal

' Liste les fichiers d'un dossier et de ses sous dossiers
' dans une feuille de calcul avec certains renseignements
' d'après Ole P Erlandsen
' code original à cette adresse http://www.erlandsendata.no/)

Sub TestListFilesInFolder()
Dim RootFolder$

' dossier à scanner
RootFolder = ChoisirDossier
If RootFolder = "" Then Exit Sub

' create a new workbook for the file list
Workbooks.Add

' add headers
With Range("A1")
.Formula = " Contenu du dossier : " & RootFolder
.Font.Bold = True
.Font.Size = 12
End With

Range("A3").Formula = "Chemin : "
Range("B3").Formula = "Nom : "
Range("C3").Formula = "Date Création : "
Range("D3").Formula = "Date Dernier Accès : "
Range("E3").Formula = "Date Dernière Modif : "

With Range("A3:E3")
.Font.Bold = True
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
End With

'True pour inclure les sous réperoires, False sinon
ListFilesInFolder RootFolder, True

Columns("A:H").AutoFit

End Sub

Sub ListFilesInFolder(SourceFolderName As String, IncludeSubfolders As
Boolean)
' lists information about the files in SourceFolder
' example: ListFilesInFolder "C:FolderName", True
' Ole P Erlandsen (modifié fs 11/8/01)

Dim FSO 'As Scripting.FileSystemObject
Dim SourceFolder 'As Scripting.Folder
Dim SubFolder 'As Scripting.Folder
Dim FileItem 'As Scripting.File
Dim r As Long

Set FSO = CreateObject("Scripting.FileSystemObject")
Set SourceFolder = FSO.GetFolder(SourceFolderName)
r = Range("A65536").End(xlUp).Row + 1

For Each FileItem In SourceFolder.Files
' display file properties
Cells(r, 1).Formula = FileItem.ParentFolder
Cells(r, 2).Formula = FileItem.Name
Cells(r, 3).Formula = FileItem.DateCreated
Cells(r, 3).NumberFormatLocal = "jj/mm/aa"
Cells(r, 4).Formula = FileItem.DateLastAccessed
Cells(r, 5).Formula = FileItem.DateLastModified
Cells(r, 5).NumberFormatLocal = "jj/mm/aa"
' next row number
r = r + 1
Next FileItem

If IncludeSubfolders Then
For Each SubFolder In SourceFolder.SubFolders
ListFilesInFolder SubFolder.Path, True
Next SubFolder
End If

Set FileItem = Nothing
Set SourceFolder = Nothing
Set FSO = Nothing

ActiveWorkbook.Saved = True

End Sub

Private Function ChoisirDossier()
Dim objShell, objFolder, chemin, SecuriteSlash

Set objShell = CreateObject("Shell.Application")
Set objFolder = _
objShell.BrowseForFolder(&H0&, "Choisisser un répertoire", &H1&)
On Error Resume Next
chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path & ""
If objFolder.Title = "Bureau" Then
chemin = "C:WindowsBureau"
End If
If objFolder.Title = "" Then
chemin = ""
End If

SecuriteSlash = InStr(objFolder.Title, ":")

If SecuriteSlash > 0 Then
chemin = Mid(objFolder.Title, SecuriteSlash - 1, 2) & ""
End If
ChoisirDossier = chemin
End Function

"Marco" a écrit dans le message de
news:086d01c3a443$af235bc0$
Bonjour,

Est-ce possible ?

Peux-t'on récupérer la date de dernière modification d'un
fichier (txt) qui alimente un TCD et qui me permettrait de
faire apparaitre cette date dans mon tableau (sous la
forme par exemple : "Date de la dernière mise à jour du
tableau : jj/mm/aa").

Merci d'avance.

Marco
Avatar
Marco
Super,

Un peu long pour juste récupérer la date d'un fichier
précis situé dans un dossier précis, mais à défaut, je
simplifierais au mieux.

Merci

-----Message d'origine-----
Bonjour Marco
Voici un exemple de code (de Ole P Erlandsen) qui liste
les fichiers d'un

répertoire avec les informations date de création, de
dernière modification

et de dernier accès pour chaque fichier sur un nouveau
classeur Excel.

La procédure à exécuter est TestListFilesInFolder
(L'option d'inclure ou

d'exclure les sous répertoires dans la recherche se
trouve à la fin de cette

procédure)
Cet exemple devrait également interesser Fredo.
Cordialement
Pascal

' Liste les fichiers d'un dossier et de ses sous dossiers
' dans une feuille de calcul avec certains renseignements
' d'après Ole P Erlandsen
' code original à cette adresse
http://www.erlandsendata.no/)


Sub TestListFilesInFolder()
Dim RootFolder$

' dossier à scanner
RootFolder = ChoisirDossier
If RootFolder = "" Then Exit Sub

' create a new workbook for the file list
Workbooks.Add

' add headers
With Range("A1")
.Formula = " Contenu du dossier : " & RootFolder
.Font.Bold = True
.Font.Size = 12
End With

Range("A3").Formula = "Chemin : "
Range("B3").Formula = "Nom : "
Range("C3").Formula = "Date Création : "
Range("D3").Formula = "Date Dernier Accès : "
Range("E3").Formula = "Date Dernière Modif : "

With Range("A3:E3")
.Font.Bold = True
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
.WrapText = True
End With

'True pour inclure les sous réperoires, False sinon
ListFilesInFolder RootFolder, True

Columns("A:H").AutoFit

End Sub

Sub ListFilesInFolder(SourceFolderName As String,
IncludeSubfolders As

Boolean)
' lists information about the files in SourceFolder
' example: ListFilesInFolder "C:FolderName", True
' Ole P Erlandsen (modifié fs 11/8/01)

Dim FSO 'As Scripting.FileSystemObject
Dim SourceFolder 'As Scripting.Folder
Dim SubFolder 'As Scripting.Folder
Dim FileItem 'As Scripting.File
Dim r As Long

Set FSO = CreateObject("Scripting.FileSystemObject")
Set SourceFolder = FSO.GetFolder(SourceFolderName)
r = Range("A65536").End(xlUp).Row + 1

For Each FileItem In SourceFolder.Files
' display file properties
Cells(r, 1).Formula = FileItem.ParentFolder
Cells(r, 2).Formula = FileItem.Name
Cells(r, 3).Formula = FileItem.DateCreated
Cells(r, 3).NumberFormatLocal = "jj/mm/aa"
Cells(r, 4).Formula = FileItem.DateLastAccessed
Cells(r, 5).Formula = FileItem.DateLastModified
Cells(r, 5).NumberFormatLocal = "jj/mm/aa"
' next row number
r = r + 1
Next FileItem

If IncludeSubfolders Then
For Each SubFolder In SourceFolder.SubFolders
ListFilesInFolder SubFolder.Path, True
Next SubFolder
End If

Set FileItem = Nothing
Set SourceFolder = Nothing
Set FSO = Nothing

ActiveWorkbook.Saved = True

End Sub

Private Function ChoisirDossier()
Dim objShell, objFolder, chemin, SecuriteSlash

Set objShell = CreateObject("Shell.Application")
Set objFolder = _
objShell.BrowseForFolder(&H0&, "Choisisser un
répertoire", &H1&)

On Error Resume Next
chemin = objFolder.ParentFolder.ParseName
(objFolder.Title).Path & ""

If objFolder.Title = "Bureau" Then
chemin = "C:WindowsBureau"
End If
If objFolder.Title = "" Then
chemin = ""
End If

SecuriteSlash = InStr(objFolder.Title, ":")

If SecuriteSlash > 0 Then
chemin = Mid(objFolder.Title, SecuriteSlash - 1,
2) & ""

End If
ChoisirDossier = chemin
End Function

"Marco" a écrit
dans le message de

news:086d01c3a443$af235bc0$
Bonjour,

Est-ce possible ?

Peux-t'on récupérer la date de dernière modification d'un
fichier (txt) qui alimente un TCD et qui me permettrait de
faire apparaitre cette date dans mon tableau (sous la
forme par exemple : "Date de la dernière mise à jour du
tableau : jj/mm/aa").

Merci d'avance.

Marco


.



Avatar
Denis Michon
Bonjour Marco,

Une alternative :

'------------------------
Private Sub DernierAcces_DernierModif()

Dim Fs As Object, F As Object, S As String, Fichier As String

Fichier = "C:ExcelClasseur1.xls" 'à déterminer

Set Fs = CreateObject("Scripting.FileSystemObject")
Set F = Fs.getFile(Fichier)

S = "Dernier accès le : " & F.DateLastAccessed & vbCrLf
S = S & "Dernière modification le : " & F.DateLastModified
MsgBox S

Set Fs = Nothing: Set F = Nothing

End Sub
'------------------------


Salutations!



"Marco" a écrit dans le message de news:086d01c3a443$af235bc0$
Bonjour,

Est-ce possible ?

Peux-t'on récupérer la date de dernière modification d'un
fichier (txt) qui alimente un TCD et qui me permettrait de
faire apparaitre cette date dans mon tableau (sous la
forme par exemple : "Date de la dernière mise à jour du
tableau : jj/mm/aa").

Merci d'avance.

Marco
Avatar
Daniel.M
Salut,

Public Function DateCreationFichier(NomFich$) As Date
With CreateObject("Scripting.FileSystemObject")
DateCreationFichier = .GetFile(NomFich).DateCreated
End With
End Function

Tu peux tester ta fonction avec cette procédure:
Sub TestF()
MsgBox DateCreationFichier( _
"C:My DocumentsPratiqueExcel PratiqueBook2.xls")
End Sub

Tu peux utiliser la fonction directement dans ta feuille de calcul ainsi:

="Date de la dernière création du fichier: " &
TEXTE(datecreationfichier(A1); "aaaa-mm-jj hh:mm")

Salutations,

Daniel M.

"Marco" wrote in message
news:086d01c3a443$af235bc0$
Bonjour,

Est-ce possible ?

Peux-t'on récupérer la date de dernière modification d'un
fichier (txt) qui alimente un TCD et qui me permettrait de
faire apparaitre cette date dans mon tableau (sous la
forme par exemple : "Date de la dernière mise à jour du
tableau : jj/mm/aa").

Merci d'avance.

Marco