Extraction date ancienne et recente

Résolu/Fermé
frenzy7 Messages postés 58 Date d'inscription samedi 24 février 2018 Statut Membre Dernière intervention 23 février 2024 - 24 févr. 2018 à 22:50
 frenzy7 - 30 avril 2018 à 13:26
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.

3 réponses

via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
25 févr. 2018 à 12:52
Bonjour

Par des fonctions personnalisées
Function 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
0
frenzy7 Messages postés 58 Date d'inscription samedi 24 février 2018 Statut Membre Dernière intervention 23 février 2024 2
26 févr. 2018 à 12:53
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.
0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
26 févr. 2018 à 13:40
Je regarde ça et te fais un retour dès que possible
0
OK Thank u. En plus de la solution macro, j'aimerais avoir la solution avec le systeme de formule si possible.
0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
26 févr. 2018 à 18:54
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
0
Merci infiniment. Tout fonctionne !!! :)
0
frenzy7 Messages postés 58 Date d'inscription samedi 24 février 2018 Statut Membre Dernière intervention 23 février 2024 2
30 avril 2018 à 04:58
Bonjour, je reviens vers vous apres 2 mois. J'ai importé le fichier xlsx sur google sheet, j'ai recrée la même macro mais j'ai des erreurs lorsque j'exécute le code.

Les macros excel et script editor de google sheet sont-elles compatibles?
0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
30 avril 2018 à 11:33
Bonjour

Il y peut être un problème de compatibilité, je ne suis pas utilisateur de google sheet
Repose la question sur un nouveau fil sur le forum, quelqu'un saura sans doute te répondre

Cdlmnt
Via
0
Ok. Merci pr la réponse. J’ai fait cela. J’attends. C juste le code visual basic plus haut que je dois transformer en javascript.
C’est simple pr quelqu’un qui connait la programmation, mais pour moi c’est super compliqué
0