Pb avec Datelastmodified

  • Initiateur de la discussion Initiateur de la discussion p.pat27
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 ????😕
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
 
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
 
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

Dernière édition:
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
 
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...
 
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
 
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. 😕

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

Yann
 

Pièces jointes

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!!! 😕

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
 
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
 
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
 
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

Re : Pb avec Datelastmodified

Bonjour a vous deux

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

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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
287
Réponses
2
Affichages
209
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
503
Réponses
5
Affichages
187
Réponses
4
Affichages
195
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
177
Réponses
2
Affichages
157
Réponses
4
Affichages
467
Retour