Extraction date ancienne et recente
Résolu
frenzy7
Messages postés
64
Statut
Membre
-
frenzy7 -
frenzy7 -
Bonjour,
Dans un paragraphe sur excel, je souhaite extraire 2 dates : la date plus ancienne pour la mettre dans une cellule
ET la date la plus récente pour la mettre dans une autre cellule.
Exp: 01/01/2018 dzeezfe, rrvtrvtrvo 15/01/2018 dakd 30/01/2018 ezfk 20/01/2018
Dans cet exp, je souhaite extraire "01/01/2018" et "30/01/2018"
Je vous remercie d'avance.
Dans un paragraphe sur excel, je souhaite extraire 2 dates : la date plus ancienne pour la mettre dans une cellule
ET la date la plus récente pour la mettre dans une autre cellule.
Exp: 01/01/2018 dzeezfe, rrvtrvtrvo 15/01/2018 dakd 30/01/2018 ezfk 20/01/2018
Dans cet exp, je souhaite extraire "01/01/2018" et "30/01/2018"
Je vous remercie d'avance.
3 réponses
-
Bonjour
Par des fonctions personnaliséesFunction premieredate(plage As Range) tablo = Split(plage, " ") butoir = CDate("01/01/2025") For n = 0 To UBound(tablo) If IsDate(tablo(n)) Then If CDate(tablo(n)) < butoir Then butoir = CDate(tablo(n)) Next premieredate = butoir End Function Function dernieredate(plage As Range) tablo = Split(plage, " ") butoir = CDate("01/01/2000") For n = 0 To UBound(tablo) If IsDate(tablo(n)) Then If CDate(tablo(n)) > butoir Then butoir = CDate(tablo(n)) Next dernieredate = butoir End Function
A coller dans un module (ALT+F11 pour ouvrie editeur VBA - Insertion - module - Copier coller les macro)
Syntaxe à utiliser dans la feuille : premieredate(A1) ou dernieredate(A1)
Cdlmnt
Via-
Bonjour,
Merci cette macro est fonctionnelle merci infiniment :)
Par contre j'aimerais légèrement la modifier. Lorsqu'il n'y a qu'une seule date j'aimerais qu'en dernieredate(A1) la cellule affiche premieredate(A1)+1 (le jour juste après)
Je ne suis pas doué en macro je ne sais pas où insérer la modif ds la macro.
Merci pr votre aide.
-
-
Je regarde ça et te fais un retour dès que possible
-
Re,
Pour pouvoir gérer une seule date en dernière date il faut remplacer la macro que je t'avais fournie par celle làFunction dernieredate(plage As Range) tablo = Split(plage, " ") butoir = CDate("01/01/2000") datemini = CDate("01/01/2025") For n = 0 To UBound(tablo) If IsDate(tablo(n)) Then If CDate(tablo(n)) < datemini Then datemini = CDate(tablo(n)) If CDate(tablo(n)) > butoir Then butoir = CDate(tablo(n)) End If Next If butoir = datemini Then butoir = butoir + 1 dernieredate = butoir End Function
Par contre par formule je ne pense pas que ce soit possible du moins avec une seule formule sinon il faudrait décomposer la chaine sur plusieurs colonnes autant de fois qu'il y a des dates puis dans une autre colonne comparer ces résultat, c'est fastidieux et bien moins ergonomique que la fonction personnalisée ci-dessus