La fameuse fonction DATEDIF !

PWC

XLDnaute Nouveau
Bonjour à toutes et à tous,

J'ai un nouveau problème à vous soumettre

Je souhaite que ma formule me dise combien de jours, de mois et d'années il y a entre les cellules B2 et D2.

Je souhaite également que :
- la syntaxe soit du type "x years, y months and z days"
- que si il n'y a qu'une seule année, qu'un seul mois ou qu'un seul jour, ce soit "1 year", "1 month" ou "1 day"
- que si il y a x années et y mois, la syntaxe soit "x year(s) and y month(s)"
- que si il y a x années et z jours, la syntaxe soit "x year(s) and z day(s)"
- que si il y a y mois et z jours, la syntaxe soit "y month(s) and z day(s)"

J'ai pas mal bossé dessus mais ça ne marche pas ! Pourriez-vous m'aider §

Ma formule ressemble à ça pour le moment. Je vous mets également le fichier excel. Merci d'avance !!

=SI(DATEDIF(B2;D2;"y")>1;SI(DATEDIF(B2;D2;"y")=0;"";(DATEDIF(B2;D2;"y")))&SI(DATEDIF(B2;D2;"y")>1;" years,";" year,")&SI(DATEDIF(B2;D2;"ym")=0;"";DATEDIF(B2;D2;"ym")&SI(DATEDIF(B2;D2;"ym")>1;" months, ";" month, ")&SI(DATEDIF(B2;D2;"md")=0;"";(DATEDIF(B2;D2;"md")))&SI(DATEDIF(B2;D2;"md")>1;" days";" day"));SI(ET(DATEDIF(B2;D2;"d")<=365;DATEDIF(B2;D2;"d")>30);SI(DATEDIF(B2;D2;"ym")=0;"";DATEDIF(B2;D2;"ym")&SI(DATEDIF(B2;D2;"ym")>1;" months, ";" month, ")&SI(DATEDIF(B2;D2;"md")=0;"";(DATEDIF(B2;D2;"md")))&SI(DATEDIF(B2;D2;"md")>1;" days";" day"))))
 

Pièces jointes

  • Datedif.xls
    13.5 KB · Affichages: 275
  • Datedif.xls
    13.5 KB · Affichages: 286
  • Datedif.xls
    13.5 KB · Affichages: 291

AtWork

XLDnaute Nouveau
Re : La fameuse fonction DATEDIF !

Salut!

Le modèle ci-dessous devrait marcher en remplaçant les "if" par des "si"

=IF(DATEDIF(A1,B1,"y")=0,"",DATEDIF(A1,B1,"y")&" years ")&IF(DATEDIF(A1,B1,"ym")=0,"",
DATEDIF(A1,B1,"ym")&" months ")&DATEDIF(A1,B1,"md")&" days"

Good luck!
 

Tibo

XLDnaute Barbatruc
Re : La fameuse fonction DATEDIF !

Bonjour le fil,

Je te laisse tester avec cette formule, équivalente de celle de Atwork, mais avec gestion des accords, comme souhaité :

Code:
=SUPPRESPACE(SI(DATEDIF(B2;D2;"y")>0;DATEDIF(B2;D2;"y")&" year"&SI(DATEDIF(B2;
D2;"y")=1;"";"s");"")&" "&SI(DATEDIF(B2;D2;"ym")>0;DATEDIF(B2;D2;"ym")&" month"&
SI(DATEDIF(B2;D2;"ym")=1;"";"s");"")&" "&SI(DATEDIF(B2;D2;"md")>0;DATEDIF(B2;D2;
"md")&" day"&SI(DATEDIF(B2;D2;"md")=1;"";"s");""))

@+
 

CyberNeo99

XLDnaute Occasionnel
Re : La fameuse fonction DATEDIF !

Bonjour à tous,

Cette fonction bn'existe pas sous Excel 2003 que sous Excel 2007 et + si je ne me trompes.... :confused:

Je ne la vois pas dans ma liste sous 2003 en tout cas et si je l'écris, Excel ne la reconnait pas.....


Neo :rolleyes:
 

ROGER2327

XLDnaute Barbatruc
Re : La fameuse fonction DATEDIF !

Bonjour à tous.

Re...
Bonjour à tous,

Cette fonction bn'existe pas sous Excel 2003 que sous Excel 2007 et + si je ne me trompes.... :confused:

Je ne la vois pas dans ma liste sous 2003 en tout cas et si je l'écris, Excel ne la reconnait pas.....


Neo :rolleyes:
Bizarre...
Intrigué par votre remarque, je viens de faire l'essai avec Excel2003 et... ...ça fonctionne !

J'en profite pour donner une version en Français, puisque nous sommes sur un site francophone. On constate que le formule est un peu plus simple...
Code:
[COLOR="DarkSlateGray"][B]=SUPPRESPACE(SI(DATEDIF(B2;D2;"y")>0;DATEDIF(B2;D2;"y")&" année"&SI(DATEDIF(B2;D2;"y")=1;"";"s");"")&" "&SI(DATEDIF(B2;D2;"ym")>0;DATEDIF(B2;D2;"ym")&" mois";"")&" "&SI(DATEDIF(B2;D2;"md")>0;DATEDIF(B2;D2;"md")&" jour"&SI(DATEDIF(B2;D2;"md")=1;"";"s");""))[/B][/COLOR]
ROGER2327
#4333


Vendredi 13 Haha 138 (Saint et Sainte Fenouillard, Sainte famille, SQ)
27 Vendémiaire An CCXIX
2010-W42-1T14:18:16Z
 

Discussions similaires

Réponses
55
Affichages
3 K

Statistiques des forums

Discussions
312 555
Messages
2 089 561
Membres
104 211
dernier inscrit
clubdesjeunesdela7