Extraire la plus vieille date d'une cellule Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
M
MaximeLeu
Nouveau venu
Nouveau venu
Messages : 7
Inscrit le : 28 août 2015
Version d'Excel : 2013 EN

Message par MaximeLeu » 28 août 2015, 07:14

Bonjour a tous et a toutes,

J'ai l'habitude trouver mes reponses aux question d'Excel sur internet mais la je suis reste bredouille :?

J'ai une colonne avec des cellules qui contiennent plusieures dates. Pour chaque cellule j'aimerais pouvoir expliciter la plus vieille des dates pour pouvoir ensuite utiliser mon filtre correctement (par annee, mois etc). Pour cela deux possibilite :

- Soit une macro/fonction qui detecterait la plus ancienne des dates des cellules et supprimerait les autres
- Soit une macro/fonction qui detecterait la plus ancienne des dates des cellules et la copie/collerait sur la colonne adjacente

Exemples de cellule

"12/15/2015
12/7/2015
12/17/2015
11/30/2015"

"12/7/2015
12/17/2015
12/15/2015
12/17/2015"

"11/30/2015
12/24/2015"

Je voudrais expliciter les dates

"11/30/2015"
"12/7/2015"
"11/30/2015"

Je sais que ce n'est pas malin de mettre plusieurs dates dans une meme cellules mais je n'est vraiment pas le choix sur ce cas la. J'ai un tableau de plusieurs centaines de lignes deja, je ne peux pas faire 1date/1ligne (et ca bousillerait mon autre macro).

Je vous remercie par avance de mon aide.

Maxime
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'523
Appréciations reçues : 668
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 28 août 2015, 09:11

MaximeLeu a écrit : - Soit une macro/fonction qui detecterait la plus ancienne des dates des cellules et la copie/collerait sur la colonne adjacente
Il suffit e mettre dans la colonne = MAX(plage) puisque les dates sont des nombres

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'201
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 28 août 2015, 19:30

Bonsoir,

Tu as dit : plusieurs dans la même cellule ?

Classeur requis pour voir comment ça se présente.
Avatar du membre
Steelson
Fanatique d'Excel
Fanatique d'Excel
Messages : 12'523
Appréciations reçues : 668
Inscrit le : 13 octobre 2014
Version d'Excel : 2013 FR

Message par Steelson » 28 août 2015, 20:04

MaximeLeu a écrit : Je sais que ce n'est pas malin de mettre plusieurs dates dans une meme cellules mais je n'est vraiment pas le choix sur ce cas la. J'ai un tableau de plusieurs centaines de lignes deja, je ne peux pas faire 1date/1ligne (et ca bousillerait mon autre macro).
Ah tiens je n'avais pas noté ce commentaire !
Personnellement, quand les fondations ne sont pas bien faites, il vaut mieux éviter de construire dessus et reprendre les bases.
Tu risques de traîner ce boulet longtemps.

O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸ O.o°• ♪♪♫ °º¤ø,¸¸,ø¤º°`°º¤ø,¸
PI = 3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59230 78164 06286 20899 86280

( ͡• ͜ʖ ͡• )
t
tulipe_4
Passionné d'Excel
Passionné d'Excel
Messages : 8'294
Appréciations reçues : 191
Inscrit le : 1 janvier 2011
Version d'Excel : 2000 2007

Message par tulipe_4 » 28 août 2015, 20:55

bonjour a tous
j'ai cherché comment "demonter " 3 dates dans la meme cel eh ! ben c'est pas gagné , je cale car non seulement ,il faut exraire 3paquets de 10carracteres >>>les convertir en date = nombre ensuite max des 3 cell
je n'ose meme pas vous mettre le STXT (substitue de substitue ..............)
je crois qu'il existe un truc qui convertit le PDF en excel ; alors tu demarres de ta capture et peut etre que ..........
cordialement
c'est en cherchant qu'on trouve
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'201
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 28 août 2015, 21:55

Salut tulipe,

Te casse pas la tête avec des formules tant qu'on a pas le modèle. Ce sera plus simple en macro si on a un séparateur...
Avatar du membre
eriiic
Passionné d'Excel
Passionné d'Excel
Messages : 9'112
Appréciations reçues : 347
Inscrit le : 7 février 2010
Version d'Excel : 2010fr

Message par eriiic » 28 août 2015, 23:27

Bonjour,

essai en fonction personnalisée :
Function ancienneDate(dates As String) As Date
    Dim tablDat, d1, dat As Date, i As Long
    tablDat = Split(dates, vbLf)
    ancienneDate = #12/31/9999#
    For i = 0 To UBound(tablDat)
        d1 = Split(tablDat(i), "/")
        dat = DateSerial(d1(2), d1(0), d1(1))
        If dat < ancienneDate Then ancienneDate = CDate(dat)
    Next i
End Function
A adapter à la réalité.
Si tu préfères tu peux t'en servir dans un sub pour traiter une plage
eric
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.
(les Shadoks)

En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
M
MaximeLeu
Nouveau venu
Nouveau venu
Messages : 7
Inscrit le : 28 août 2015
Version d'Excel : 2013 EN

Message par MaximeLeu » 31 août 2015, 06:44

Bonjour Eriiic,

Merci beaucoup pour ta reponse ! Ca m'aide beaucoup.

Et merci aux autres pour leur contribution.
M
MFerrand
Fanatique d'Excel
Fanatique d'Excel
Messages : 17'201
Appréciations reçues : 445
Inscrit le : 20 juillet 2015
Version d'Excel : 2010 FR

Message par MFerrand » 31 août 2015, 06:59

De rien vraiment, en ce qui me concerne !
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message