[VBA] Prendre la date la plus récente
Résolu
MoYoX
Messages postés
140
Statut
Membre
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour tout le monde,
Je suis confronté à un petit problème en VBA ...
En effet, dans mon code, je vérifie, dans un dossier unique, la présence de fichiers.
Avec une For Each, j'ai tout une portion de code qui s'éxécute à chaque fichier présent.
Donc à partir de là j'peux récupérer le chemin, la date, le nom etc ... donc j'arrive à récupérer la date de création de chaque fichier à chaque passage dans la boucle via une FileDateTime, je découpe, toujours à chaque passage dans la boucle, le mois, l'année, le jour ... mais je n'arrive pas à garder la date la plus récente.
J'avais essayé un truc du genre:
Si, à chaque passage dans la boucle, la date est supérieure à celle du passage d'avant, on la garde dans une variable.
J'comptais comparer l'année, puis le mois, puis le jour dans un if dans un if dans un if !
En gros.
Mais je n'y arrive pas ... je ne sais pas pourquoi il me garde une seule date, mais pas la plus récente.
Voilà à quoi ressemble le début de ma boucle:
(oui c'est pour vérifier des messages vocaux provenant du PABX en .wav)
Et c'est là que je bloque.
Si quelqu'un avait une idée, ou un algo qui va bien ... je lui en serait très reconnaissant !
Merci d'avance !
Je suis confronté à un petit problème en VBA ...
En effet, dans mon code, je vérifie, dans un dossier unique, la présence de fichiers.
Avec une For Each, j'ai tout une portion de code qui s'éxécute à chaque fichier présent.
Donc à partir de là j'peux récupérer le chemin, la date, le nom etc ... donc j'arrive à récupérer la date de création de chaque fichier à chaque passage dans la boucle via une FileDateTime, je découpe, toujours à chaque passage dans la boucle, le mois, l'année, le jour ... mais je n'arrive pas à garder la date la plus récente.
J'avais essayé un truc du genre:
Si, à chaque passage dans la boucle, la date est supérieure à celle du passage d'avant, on la garde dans une variable.
J'comptais comparer l'année, puis le mois, puis le jour dans un if dans un if dans un if !
En gros.
Mais je n'y arrive pas ... je ne sais pas pourquoi il me garde une seule date, mais pas la plus récente.
Voilà à quoi ressemble le début de ma boucle:
For Each objFichier In objDossier.Files
If (InStr(1, objFichier.Name, ".wav", 1) > 0) Then
If (Mid(objFichier.Name, 1, 1) = "~") Then GoTo label
finPhrase = ""
finPhrase = " message vocal."
dateComplete = Left(FileDateTime(objFichier.Path), 10)
anneeTemp = Right(dateComplete, 4)
moisTemp = Mid(dateComplete, 4, 2)
jourTemp = Left(dateComplete, 2)
...
(oui c'est pour vérifier des messages vocaux provenant du PABX en .wav)
Et c'est là que je bloque.
Si quelqu'un avait une idée, ou un algo qui va bien ... je lui en serait très reconnaissant !
Merci d'avance !
A voir également:
- [VBA] Prendre la date la plus récente
- Prendre une photo avec son pc - Guide
- Prendre une photo avec son mac - Guide
- Trouver une date de naissance gratuit - Forum Webmastering
- Prendre un instantané pdf ✓ - Forum PDF
- Comment prolonger la date de validité d'une smartbox ✓ - Forum Consommation & Internet