Calcul entre deux dates
Bonjour,
J'utilise l'application pour créer mon fichier et le bascule ensuite sur microsoft en ligne pour le rendre accessible à mes collègues.
Il s'agit d'une calculatrice qui automatise un process à notre travail.
Elle est opérationnelle, mais j'ai un problème pour 1 seule formule, qui peut impacter.
Avec la date de naissance du client et la date de l'événement, le logiciel du prestataire donne son âge à la date de l'événement en année et moi (genre 42 ans et 7 mois). Pour ma calculatrice, j'ai donc aussi besoin qu'excel fasse se calcul afin d'obtenir exactement cet âge en année et en mois.
En B2 j'ai la date de naissance de la personne (jj/mm/aaaa) exemple : 29/04/1965
En B7 j'ai la date de l'événement (jj/mm/aaaa) exemple : 01/12/2026
En B10 j'ai la formule suivante : =FRACTION.ANNEE(B4;B7;3)
Le logiciel me dit 61 ans et 7 mois.
Excel me renvoit 61 et 6 mois.
J'ai un décalage de 1 mois (inférieur), mais pas toujours sinon j'aurai d'emblée déduit 1 mois dans la formule.
Si par exemple en date de naissance je mets le 31/07/1985 là ça me dit 41 an et 4 mois et le logiciel aussi.
Je n'arrive pas du tout à comprendre pourquoi on n'a pas le même résultat, sachant que si j'utilise la calculatrice de l'ordi ou du téléphone, ça me dit la même chose que le logiciel, c'est donc excel qui a faux. Je pense qu'il s'agit d'une histoire d'arrondi mais je ne vois pas comment résoudre.
Si ça peut servir, du 01/04/1965 au 22/04/1965 ça renvoit bien 61 ans et 7 mois, ça bascule à partir du 23...
Pour la fraction.année j'ai évidement essayer les options de 1 à 5.
J'ai aussi essayé de mettre la fonction fraction.année dans une fonction arrondi, arrondi sup et arrondi inf.
L'utilisation de VBA est impossible (notre version du travail l'empêche)
Cette erreur impact énormement notre traitement, si jamais quelqu'un sait comment résoudre cette erreur. Je vous en serai très reconnaissante.
Merci d'avance.
Bonjour
Avec les dates en D4 et D5
=DATEDIF(D4;D5;"Y") &" ans " & DATEDIF(D4;D5;"YM") &" mois"A+ François
Bonjour & bienvenue sur le forum,
La fonction fonctionne correctement, c'est votre interprétation du résultat qui est fausse.
Vous supposez/convertissez 0,6 ans en 6 mois... Mais 0,6*12 = 7,2 soit 7 mois...
C'est comme faire 0.5 h <=> 50 minutes, attention à vos unités.
FRACTION.ANNEE est pratique pour calculer, comme son nom l'indique, une différence en unité "année". Pour de la précision, vous pouvez effectivement utiliser la fonction proposée par François.
Une alternative à la formule de François en convertissant en base 12 mois et ne comptant dans l'âge que les mois complets
=ENT(FRACTION.ANNEE($B$4;$B$7;3)) & " ans et " & ARRONDI.INF(12*(FRACTION.ANNEE($B$4;$B$7;3)-ENT(FRACTION.ANNEE($B$4;$B$7;3)));0) & " mois"Bonjour CDU ; Fanfan et Saboh
En complément de la solution de fanfan, si vous souhaitez garder le résultat sous format nombre décimal :
=DATEDIF(B4;B7;"Y")+SI(NBCAR((DATEDIF(B4;B7;"YM")))=2;(DATEDIF(B4;B7;"YM")/100);(DATEDIF(B4;B7;"YM")/10))Merci à tous pour votre réponse (la première qui solutionne le problème efficacement et la dernière qui me permet effectivement de garder le format décimal), et les autres parce qu'elles me permettent de comprendre pourquoi ça ne pouvait pas fonctionner, effectivement, en relisant la formule, je n'ai pas du tout tilté sur le fait que c'était adapté pour les années et non vraiment pour une période précise mois année.
Merci mille fois