Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Min - Max sur valeurs en format texte

10 réponses
Avatar
René Delcourt
Bonjour et bonne semaine,
Je dois trouver la valeur maximum et minimum dans une colonne.
Cependant cette colonne représente des dates (jj.mm.aaaa) en format texte et
ne veut donc pas de la fonction Min ou Max.
J'ai essayé MinA et MaxA sans plus de succès.

Une suggestion du lundi matin?

Merci
--
René Delcourt

10 réponses

Avatar
Francois L
Bonjour et bonne semaine,
Je dois trouver la valeur maximum et minimum dans une colonne.
Cependant cette colonne représente des dates (jj.mm.aaaa) en format texte et
ne veut donc pas de la fonction Min ou Max.
J'ai essayé MinA et MaxA sans plus de succès.

Une suggestion du lundi matin?


Bonjour du lundi matin,

Si les dates sont exprimées sous une forme qu'Excel peut reconnaître
comme date, la fonction DATEVAL devrait faire l'affaire. Si les
séparateurs sont vraiment des points (.) les remplacer d'abord par des
"/" Par exemple ÚTEVAL(SUBSTITUE(A5;".";"/"))

--
François L

Avatar
ginette54
Bonjour,
Convertis tes dates en nombres. =CNUM(b1) et ensuite tu fais ton minimum non
plus à partir de ta colonne d'origine mais à partir de la nouvelle colonne.
C'est ma suggestion du lundi matin, il y a peut être mieux.
A+


Bonjour et bonne semaine,
Je dois trouver la valeur maximum et minimum dans une colonne.
Cependant cette colonne représente des dates (jj.mm.aaaa) en format texte et
ne veut donc pas de la fonction Min ou Max.
J'ai essayé MinA et MaxA sans plus de succès.

Une suggestion du lundi matin?

Merci
--
René Delcourt


Avatar
AV
Matricielles :

=MIN(SUBSTITUE(plage;".";"/")*1)
=MAX(SUBSTITUE(plage;".";"/")*1)

AV
Avatar
René Delcourt
Formidable...dans une feuille Excel.
En VBA, j'ai du mal à mettre cette formule matricielle dans une variable :

Dim test
test =
Application.WorksheetFunction.Max(Application.WorksheetFunction.Substitute(plage, ".", "/") * 1)

Peux-tu m'aider?
--
René Delcourt



Matricielles :

=MIN(SUBSTITUE(plage;".";"/")*1)
=MAX(SUBSTITUE(plage;".";"/")*1)

AV





Avatar
René Delcourt
OK, j'y suis parvenu :

mindate = Evaluate("=+Min(SUBSTITUTE(plage,""."",""/"")*1)")

Mais

il traite "01.05.2006" comme "05.01.2006" et "04.05.2006" comme "05.04.2006".
J'ai essayé d'y introduire un "Format"...sans succès.
Merci de votre aide
--
René Delcourt



Matricielles :

=MIN(SUBSTITUE(plage;".";"/")*1)
=MAX(SUBSTITUE(plage;".";"/")*1)

AV





Avatar
AV
| mindate = Evaluate("=+Min(SUBSTITUTE(plage,""."",""/"")*1)")

Heu... sur un XL français ça devrait planter à coup sur !
Le problème lors du passage en vba et l'incompatibilté des formats entre la
feuille et le format US.
Il faut ruser en utilisant les numéros de série en passant par la fonction DATE
qui, elle, est internationale (message subliminal pour GD ;-)

MsgBox
[TEXT(MAX(DATE(MID(plage,7,4),MID(plage,4,2),LEFT(plage,2))),"dd/mm/yyyy")]

Pour retrouver le format de son choix (french), on ajoute la fonction de feuille
TEXT, mais on pourrait tout aussi bien se servir de la fonction vba "Format"

AV
Avatar
René Delcourt
Erreur 2015???

maxdate =
Evaluate("=+text(MAX(DATE(MID(plage,7,4),MID(plage,4,2),LEFT(plage,2)),""dd/mm/yyyy"")")

--
René Delcourt



| mindate = Evaluate("=+Min(SUBSTITUTE(plage,""."",""/"")*1)")

Heu... sur un XL français ça devrait planter à coup sur !
Le problème lors du passage en vba et l'incompatibilté des formats entre la
feuille et le format US.
Il faut ruser en utilisant les numéros de série en passant par la fonction DATE
qui, elle, est internationale (message subliminal pour GD ;-)

MsgBox
[TEXT(MAX(DATE(MID(plage,7,4),MID(plage,4,2),LEFT(plage,2))),"dd/mm/yyyy")]

Pour retrouver le format de son choix (french), on ajoute la fonction de feuille
TEXT, mais on pourrait tout aussi bien se servir de la fonction vba "Format"

AV





Avatar
AV
| maxdate |
Evaluate("=+text(MAX(DATE(MID(plage,7,4),MID(plage,4,2),LEFT(plage,2)),""dd/mm/yyyy"")")

C'est pas la syntaxe que je t'ai donnée !
Il suffit d'un copier/coller...

http://cjoint.com/?firTc0FOwF

AV
Avatar
René Delcourt
Je te remercie infiniment pour tant de didactisme.

Il ne reste plus qu'à pouvoir faire des opérations sur ces valeurs (maxdate
et mindate), du style if X > MaxDate then... mais cela est certainement une
autre histoire.
Je ne sais si j'abuse ou si je te permets de développer ton talent?
--
René Delcourt



| maxdate > |
Evaluate("=+text(MAX(DATE(MID(plage,7,4),MID(plage,4,2),LEFT(plage,2)),""dd/mm/yyyy"")")

C'est pas la syntaxe que je t'ai donnée !
Il suffit d'un copier/coller...

http://cjoint.com/?firTc0FOwF

AV





Avatar
AV
| Il ne reste plus qu'à pouvoir faire des opérations sur ces valeurs (maxdate
| et mindate), du style if X > MaxDate then... mais cela est certainement une
| autre histoire.

A défaut de question précise, quelques pistes dans fichier joint

http://cjoint.com/?fjj0J2Wi5K

AV