Intervalle de date en année mois jour

Résolu
Pir27 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

J'utilise la fonction datedif pour calculer mon intervalle de dates :

=DATEDIF(B2;B3;"Y")&SI(DATEDIF(B2;B3;"Y")>1;" ans, ";" an, ")&DATEDIF(B2;B3;"YM") &" mois et "&DATEDIF(B2;B3;"MD")&SI(DATEDIF(B2;B3;"MD")>1;" jours";" jour")

ou B2 est la date de début et B3 la date de fin.
J'obtiens "0 ans, 0 mois et 2 jours".

Je souhaite n'afficher que la partie du résultat qui n'est pas nulle (ici "2 jours").

Merci infiniment de vos réponses.


A voir également:

3 réponses

Paf
 
Bonjour

a priori quelque chose comme ça

=SI(DATEDIF(B2;B3;"Y")>1;DATEDIF(B2;B3;"Y") & " ans, ";"") & SI(DATEDIF(B2;B3;"YM")>1;DATEDIF(B2;B3;"YM")&" mois ";"") & DATEDIF(B2;B3;"md") & " jours"

https://forums.commentcamarche.net/forum/affich-37636597-difference-entre-dates-avec-la-fonction-datedif
0
Pir27 Messages postés 14 Date d'inscription   Statut Membre Dernière intervention  
 
C'est parfait, merci 1000 fois.
Je marque comme résolu.
0
Frenchie83 Messages postés 2240 Date d'inscription   Statut Membre Dernière intervention   338
 
Bonjour
A tester
=SI(DATEDIF(B2;B3;"Y")=0;"";SI(DATEDIF(B2;B3;"Y")=1;"1 an, ";DATEDIF(B2;B3;"Y")&" ans, ")&SI(DATEDIF(B2;B3;"YM")=0;"";SI(DATEDIF(B2;B3;"YM")=1;"1 mois";DATEDIF(B2;B3;"YM")&" mois ")&SI(DATEDIF(B2;B3;"md")=0;"";SI(DATEDIF(B2;B3;"md")=1;" et 1 jour";"et "&DATEDIF(B2;B3;"md")&" jours"))))
Cdlt
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour tout le monde,

J'ai saisi en B2 : 01/01/2015, en B3 : 01/02/2015.
La formule initiale affiche : 0 an, 1 mois et 0 jour
La formule de Paf affiche : 0 jours
La formule de Frenchie83 n'affiche rien.

Il conviendrait, peut être, de modifier la formule de Frenchie, (place d'une parenthèse fermante), pour "s'approcher" d'un quelconque résultat :
=SI(DATEDIF(B2;B3;"Y")=0;"";SI(DATEDIF(B2;B3;"Y")=1;"1 an, ";DATEDIF(B2;B3;"Y")&" ans, "))&SI(DATEDIF(B2;B3;"YM")=0;"";SI(DATEDIF(B2;B3;"YM")=1;"1 mois";DATEDIF(B2;B3;"YM")&" mois ")&SI(DATEDIF(B2;B3;"md")=0;"";SI(DATEDIF(B2;B3;"md")=1;" et 1 jour";"et "&DATEDIF(B2;B3;"md")&" jours")))
A première vue, je dirais qu'il y manque les "et" de liaison entre mois et jour le cas échéant... (EDIT : mea culpa ils sont bien là...)
Mais...
Les paramètres étant nombreux, la formule est longue. Cela ne fait "qu'alourdir" le fichier en cas de répétition sur une colonne (par exemple). Donc, selon l'usage (si ce n'est qu'une formule par feuille, celle-ci fonctionnera impecc), je préconiserai (ou pas) une fonction personnalisée ou une macro...
🎼 Cordialement,
Franck 🎶
0
Frenchie83 Messages postés 2240 Date d'inscription   Statut Membre Dernière intervention   338
 
Bonjour tout le monde
Effectivement j'ai zappé la parenthèse fermante après le test sur l'année (faute d'inattention),
Autre petite correction, dans le cas ou il n'y a qu'un seul mois d'écart,il faut rajouter un espace après mois "SI(DATEDIF(B2;B3;"YM")=1;"1 mois "; " sinon ça donne ceci: "1 moiset 2 jours".
Concernant la formule de Paf, elle ne détecte pas un écart d'un seul mois
exemple: 01/02/2015 et 01/03/2015 donne 1 jours, de plus "jour et année" sont au pluriel, même si l'écart est égal à 1.
je dirais qu'il y manque les "et" de liaison entre mois et jour le cas échéant... . non, le "Et" est inclus juste avant le datedif:
";"et "&DATEDIF(B2;B3;"md")&" jours"))) " dans le cas ou il y a plusieurs jours, dans le cas d'un seul jour, il est intégré directement dans la réponse, mais ça vous l'aviez vu.
Bonne journée
cordialement
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761 > Frenchie83 Messages postés 2240 Date d'inscription   Statut Membre Dernière intervention  
 
Salut Frenchie,
non, le "Et" est inclus juste avant le datedif:
Oui. Je ne l'ai pas vu au premier abord, mais j'ai édité ma réponse...
0