bonjour a tous
J'ai un problème avec la fonction Datelastemodified.
Je recherche dans un répertoire la date du plus récent fichier et la rammene dans une cellule excel. Jusque là tout va bien !!
Par contre cela ne donne pas toujours la bonne date
ex: si dans le rep il y a deux fichier avec les dates suivantes: 07/04/2010 et 15/03/2007; cela me rammene la date 15/03/2007 et pas 07/04/2010 ????
Je pense que le systéme compare d'abord les jours, puis les mois, puis les années !! j'ai essayé avec le système "anglais" mais idem !!
Comment faire pour qu'il me rammene la bone date (la plus récente!) ??
Merci d'avance car je pédale dans le vide !!!
'recherche la date de la dernière fiche et la noter dans la colonne I
Sub RechDate()
Dim i, n As Long, Chemin, reponse As String, FS As FileSearch, FSO, fold, fich
Set FSO = CreateObject("Scripting.FileSystemObject")
reponse = InputBox("Commencer à partir de la ligne ??")
n = Range("A65536").End(xlUp).Row
If reponse < 8 Then reponse = 8
ActiveWorkbook.Save
For i = reponse To n
If Range("A" & i).Value = "" Then
Else
Chemin = "\\frhofps0\frho_shared\Srv Developpement\Fiches techniques PF\" & Range("A" & i).Hyperlinks(1).Address
Set fold = FSO.getfolder(Chemin)
Chemin = fold.Path
Set FS = Application.FileSearch
With FS
.NewSearch
.LookIn = Chemin
.Filename = Range("A" & i).Value & " "
.SearchSubFolders = False
If .Execute(msoSortByLastModified, msoSortOrderDescending) > 0 Then
Set fich = FSO.getfile(.FoundFiles(.FoundFiles.Count))
Range("I" & i).Value = CDate(fich.datelastmodified)
Else
Range("I" & i).Value = ""
End If
End With
End If
Range("A3").Value = n - i
Next i
Set fich = Nothing
Set fold = Nothing
Set FSO = Nothing
End Sub
J'ai un problème avec la fonction Datelastemodified.
Je recherche dans un répertoire la date du plus récent fichier et la rammene dans une cellule excel. Jusque là tout va bien !!
Par contre cela ne donne pas toujours la bonne date
ex: si dans le rep il y a deux fichier avec les dates suivantes: 07/04/2010 et 15/03/2007; cela me rammene la date 15/03/2007 et pas 07/04/2010 ????
Je pense que le systéme compare d'abord les jours, puis les mois, puis les années !! j'ai essayé avec le système "anglais" mais idem !!
Comment faire pour qu'il me rammene la bone date (la plus récente!) ??
Merci d'avance car je pédale dans le vide !!!
'recherche la date de la dernière fiche et la noter dans la colonne I
Sub RechDate()
Dim i, n As Long, Chemin, reponse As String, FS As FileSearch, FSO, fold, fich
Set FSO = CreateObject("Scripting.FileSystemObject")
reponse = InputBox("Commencer à partir de la ligne ??")
n = Range("A65536").End(xlUp).Row
If reponse < 8 Then reponse = 8
ActiveWorkbook.Save
For i = reponse To n
If Range("A" & i).Value = "" Then
Else
Chemin = "\\frhofps0\frho_shared\Srv Developpement\Fiches techniques PF\" & Range("A" & i).Hyperlinks(1).Address
Set fold = FSO.getfolder(Chemin)
Chemin = fold.Path
Set FS = Application.FileSearch
With FS
.NewSearch
.LookIn = Chemin
.Filename = Range("A" & i).Value & " "
.SearchSubFolders = False
If .Execute(msoSortByLastModified, msoSortOrderDescending) > 0 Then
Set fich = FSO.getfile(.FoundFiles(.FoundFiles.Count))
Range("I" & i).Value = CDate(fich.datelastmodified)
Else
Range("I" & i).Value = ""
End If
End With
End If
Range("A3").Value = n - i
Next i
Set fich = Nothing
Set fold = Nothing
Set FSO = Nothing
End Sub