comment afficher en "année mois jour" le temps passé entre deux da
Le
Débutante
Bonjour et bonne année
Je cherche à afficher le temps passé entre deux dates au format "an mois jour"
J'ai utilisé le format personnalisé suivant :
aa "an(s)" mm "mois" jj "jour(s)"
mais il me donne un mois de trop.
Un essai avec :
1 donne : 00 an(s) 01 mois 01 jour(s)
30 donne : 00 an(s) 01 mois 30 jour(s)
31 donne : 00 an(s) 01 mois 31 jour(s)
32 donne : 00 an(s) 02 mois 01 jour(s)
alors que je voudrais :
avec 1 donnerait : 00 an(s) 00 mois 01 jour(s)
avec 30 donnerait : 00 an(s) 00 mois 30 jour(s)
avec 31 donnetait : 00 an(s) 00 mois 31 jour(s) ou : 00 an(s) 01 mois 00
jour(s)
avec 32 donnerait : 00 an(s) 01 mois 01 jour(s)
Qui aurait une soluce, est-ce un bug, ai-je mal compris ??
Je cherche à afficher le temps passé entre deux dates au format "an mois jour"
J'ai utilisé le format personnalisé suivant :
aa "an(s)" mm "mois" jj "jour(s)"
mais il me donne un mois de trop.
Un essai avec :
1 donne : 00 an(s) 01 mois 01 jour(s)
30 donne : 00 an(s) 01 mois 30 jour(s)
31 donne : 00 an(s) 01 mois 31 jour(s)
32 donne : 00 an(s) 02 mois 01 jour(s)
alors que je voudrais :
avec 1 donnerait : 00 an(s) 00 mois 01 jour(s)
avec 30 donnerait : 00 an(s) 00 mois 30 jour(s)
avec 31 donnetait : 00 an(s) 00 mois 31 jour(s) ou : 00 an(s) 01 mois 00
jour(s)
avec 32 donnerait : 00 an(s) 01 mois 01 jour(s)
Qui aurait une soluce, est-ce un bug, ai-je mal compris ??

Poser une question


;o)))
mal compris ....
en format date : le mois 0 ainsi que le jour 0 n'existent pas !!!!
explications concernant la fonction non documentée : DATEDIF
voir sur le site de Laurent Longre
:http://xcell05.free.fr/pages/form/d...tm#DATEDIF
une solution (ChrisV) tenant compte des 0 et pluriels éventuels :
dEnt représente ici la date Antérieure
=SI(ET(DATEDIF(dEnt;AUJOURDHUI();"y")=0;DATEDIF
(dEnt;AUJOURDHUI();"ym")=0;DATEDIF(dEnt;AUJOURDHUI();
"md")=0);0&" jour";SI(DATEDIF(dEnt;AUJOURDHUI();"y")<>0;
DATEDIF(dEnt;AUJOURDHUI();"y")&SI(DATEDIF(dEnt;
AUJOURDHUI();"y")>1;" ans ";" an ");"")&SI(DATEDIF(dEnt;
AUJOURDHUI();"ym")<>0;DATEDIF(dEnt;AUJOURDHUI();"ym")
&" mois ";"")&SI(DATEDIF(dEnt;AUJOURDHUI();"md")<>0;
DATEDIF(dEnt;AUJOURDHUI();"md")&SI(DATEDIF(dEnt;
AUJOURDHUI();"md")>1;" jours";" jour");""))
--
;o)))
@+
Les news à la source !!!
news://news.microsoft.com/microsoft...c.fr.excel
et répondez OUI
n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr
convenir tout à fait.
DATEDIF, if suffisait de savoir son existance sous excel, alors qu'elle
existe dans bien des langages.
Tout simplement je faisais date2 - date1 et j'obtenais un nombre de jours
éccoulés.
Ma difficulté fût de formater ce résultat en "années mois jours".
J'allais me résigner à créer ma propre fonction me retournant une chaine de
caractères à partir de date2 et date1 en paramêtre.
J'ai parcouru en diagonale le site de Laurent Longre
http://xcell05.free.fr/pages/form/d...tm#DATEDIF
Qui semble bien documenté, un GRAND merci à lui pour le partage de son
savoir, ainsi qu'à toi MODESTE pour l'avoir fait connaître.
Le 04/01/2006 13:39 vous avez écrit... :
'ttention, y va devenir tout rouge... et après on va le confondre avec
un Ferrari... ;-)))
--
JièL / Jean-Louis GOUBERT
La FAQ Outlook est la : http://faq.outlook.free.fr
"JièL Goubert" message de news: