Pb avec Datelastmodified

p.pat27

XLDnaute Junior
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 ????:confused:
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
 

tototiti2008

XLDnaute Barbatruc
Re : Pb avec Datelastmodified

Re,

@Yann : ta solution marche trés bien chez moi, mais je ne sais pas si Pat veut passer par un Userform...

@Pat : j'ai enfin une idée : je pense que les constantes msoSortByLastModified et msoSortOrderDescending ne sont pas reconnues chez toi

fait voir :

Code:
sub test()
msgbox msoSortByLastModified & " " & msoSortOrderDe[COLOR=black]scending[/COLOR]
end sub

si ça t'affiche "0 0", essaye de remplacer msoSortByLastModified par 4 et msoSortOrderDescending par 2 dans le code de recherche du plus récent
 

YANN-56

XLDnaute Barbatruc
Re : Pb avec Datelastmodified

Bonsoir, tototiti, p.pat et à ceux qui passeront par là.

Voici un dernier jet qui ne passe pas par un USF.

Sauf erreur, le résultat est bon suivant mes tests.

Je n'ai pas géré la date de la dernière modif. dans le message.
car je ne suis pas trop à l'aise avec les ".FoundFiles"

(Finalement, j'apprends beaucoup en voulant aider) :)

Au plaisir de vous lire.

Yann
 

Pièces jointes

  • DERNIER_2.xls
    32.5 KB · Affichages: 58
Dernière édition:

p.pat27

XLDnaute Junior
Re : Pb avec Datelastmodified

Re

Yann, merci pour toute ton aide, mais tototiti a vu juste, je veux juste ramener dans une cellule la date du dernier fichier, et moi je ne suis pas trop a l'aise avec les listview. Pour info ton dernier fichier ma affiché une msgbox avec seulement un point d'exclamation, rien d'autre. Je le garde de coté et je l"étudierai quand j"en aurai fini avec mon Pb.

TOTOTITI, ton test a fonctionné chez moi sur mon portable, 4 & 2 se sont bien affichés dans la msgbox, j'essaie demain au boulot!!

Merci a tous pour votre aide précieuse
 

tototiti2008

XLDnaute Barbatruc
Re : Pb avec Datelastmodified

Bonjour à tous,

si 4 et 2 se sont affichés dans la msgbox, c'est que les constantes msoSortByLastModified et msoSortOrderDescending sont reconnues chez toi, ce qui n'explique toujours pas l'ordre dans lequel tes fichiers sont triés...
 

tototiti2008

XLDnaute Barbatruc
Re : Pb avec Datelastmodified

Re,

Sinon, tu peux éventuellement essayer la solution qu'ils proposent pour 97, à savoir faire une recherche triée sur le nom du fichier puis refaire une recherche triée sur la date de modif (avec un newsearch à chaque fois), pour voir si ça fonctionne chez toi..

bon, sinon il restera la possibilité de faire une recherche sans tri, puis de parcourir les résultats un à un jusqu'à trouver le plus récent
 

YANN-56

XLDnaute Barbatruc
Re : Pb avec Datelastmodified

Bonjour p.pat, tototiti, et à ceux qui passeront par là.

Regarde si ceci te convient mieux, et fonctionne chez toi avec Excel 2000
(Pour ma part, je suis en 2003, et c'est O.K.)

Je me suis servi du Dossier de tototiti, avec ses Fichiers ".txt" pour l'exemple.
Le type de Fichier et le Dossier à scanner doivent être adaptés suivant tes besoins.

Le dossier étant réorganisé préalablement suivant les dates de dernières modifications,
le plus récent en date est donc le dernier trouvé dans celui-là.

Si je suis encore à coté de la plaque; c'est alors que je n'ai rien compris. :confused:

Au plaisir de te lire. (Comme réceptif à toutes remarques de visiteurs)

Yann
 

Pièces jointes

  • TEST_1.zip
    13.5 KB · Affichages: 38
  • TEST_1.zip
    13.5 KB · Affichages: 39
  • TEST_1.zip
    13.5 KB · Affichages: 39

p.pat27

XLDnaute Junior
Re : Pb avec Datelastmodified

Salut Yann et merci pour cette aide, mais là je commence à m'arracher les cheveux.
Ton fichier me retourne:
TOTO - 5.txt
22/04/2010 17:33
\\frhofps0\frho_users$\garnierpt\My Documents\TEST\TEST_1\TEST_1

Toujours le même fichier TOTO-5. Je ne sais plus quoi faire!!! :confused:

J'ai essayé en renomant TOTO-1 en TOTO-11, et en ré-enregistrant le fichier TOTO-3 à 17h37
et ca me retourne:
TOTO - 11.txt
22/04/2010 17:33
\\frhofps0\frho_users$\garnierpt\My Documents\TEST\TEST_1\TEST_1

Donc toujours avec le tri sur le nom du fichier.

Bienvenue chez les fous !!!!

Merci encore
 

YANN-56

XLDnaute Barbatruc
Re : Pb avec Datelastmodified

Re p.pat

Il y a peut-être une raison issue du dézippage ou du nouvel enregistrement des Fichiers.

J'avoue ne pas piger non plus.

(Peut-être confusion entre date de dernière modification et date de dernier enregistrement)
Je n'ai pas testé.

Ce que je sais c'est que j'ai eu ce souci avec des fichiers Excel par suite de transfert
entre l'entreprise et chez moi.
Classeurs de commande dont il m'était indispensable que la date ne soit pas modifiée pour recherches ultérieures.
Donc j'ai automatisé la mise dans les propriétés de ceux-ci cette date qui alors ne changera jamais. (Juste pour info)

Je vais tester hors contexte actuel, et avec un choix préalable du dossier où faire une recherche.

A plus tard

Yann
 

tototiti2008

XLDnaute Barbatruc
Re : Pb avec Datelastmodified

Bonjour à tous,

je ne peux pas ouvrir les zip, donc je ne sais pas ce que yann a proposé

si tu testes un code comme ça, ça donne quoi ??

Code:
Set fold = FSO.getfolder(Chemin)
Chemin = fold.Path
Set FS = Application.FileSearch
With FS
.NewSearch
.LookIn = Chemin
.Filename = Range("A" & i).Value & "*.txt"
.SearchSubFolders = False
If .Execute() > 0 Then
For j = 1 To .FoundFiles.Count
    Set fich = FSO.getfile(.FoundFiles(j))
    If CDate(fich.datelastmodified) > Dat Then
        Dat = CDate(fich.datelastmodified)
    End If
Next j
Range("I" & i).Value = Dat
Else
Range("I" & i).Value = ""
End If
 

YANN-56

XLDnaute Barbatruc
Re : Pb avec Datelastmodified

Bonsoir tototiti. Heureux de te voir là pour aider notre ami.

Je joins mon dernier Classeur modifié suivant le constat de l'instant par p.pat.

p.pat:

Tu mets ce classeur dans tes documents où ailleurs.
Enfin où il y a quelques fichiers Word.

Tu testes, et tu me dis.

A plus

Yann
 

Pièces jointes

  • DERNIER_4.xls
    35 KB · Affichages: 64

p.pat27

XLDnaute Junior
Re : Pb avec Datelastmodified

Bonjour a vous deux

Reprise du boulot les neurones reposés, et je me replonge dans ce Pb de .... !!:eek:

Je viens d"essayer vos deux solutions proposées,
et je pense être porteur d'une bonne nouvelle, CA MARCHE !!!
J'ai fait un test sur une centaine de ligne, et ça me ramene bien la date du fichier le plus récent.
Juste une petite modif, il faut remettre Dat à zéro à chaque fois

Encore un grand merci a vous deux !!!:)

Pat
 

Discussions similaires

Réponses
2
Affichages
335
Réponses
5
Affichages
259

Statistiques des forums

Discussions
312 677
Messages
2 090 820
Membres
104 676
dernier inscrit
akram1619