Le 27/02/2012 15:17, jeanmi2403 a écrit :
Bonjour,

...

Effectivement, CALC fait bien la soustraction, mais donne un résultat en
jours....

Ce qui ne réjouit pas les services dans lesquels on calcule les anciennetés,
qui doivent être en années/mois/jours *REELS*, années bissextiles
comprises.....
...

Jean-Michel, hurluberlu est-parisien....
LibO 3.4.3  Windows 7 Familiale Premium SP1 x64
OOo 3.3 XP SP2

C'est pour ça que j'avais écris ceci :
Le calcul d'âge (année, mois, jour) est une source fréquente d'erreur. On a tendance à soustraire la date actuelle à la date de naissance, puis si nécessaire d'afficher au format Jour / Mois / Année. Cette méthode n'est que très approximative et fausse. Démonstration. Une personne est née le 25 janvier 1930 (soit la valeur numérique 10983). Si nous sommes le 15 septembre 2010 (soit la valeur numérique 40436). Avec une simple soustraction, nous obtenons 80 ans 8 mois et 20 jours. En fait nous appliquons une valeur numérique (résultat de soustraction), 29453 dans ce cas précis, qui correspond à la date du 20/08/1980.

Pour avoir un résultat précis, il faut employer une formule (si la date de naissance est en A1): =(ANNEES(A1; MAINTENANT();0)) & " ans " & (NB.MOIS(A1; MAINTENANT();0) - (ANNEES(A1; MAINTENANT(); 0))*12) & " mois " & (SI(JOUR(MAINTENANT()) - JOUR(A1) >=0; JOUR(MAINTENANT()) - JOUR(A1); JOUR(MAINTENANT()) + (JOURSDANSMOIS(MOIS.DECALER (MAINTENANT(); -1)) - JOUR(A1)))) & " jours"

Cette fois-ci, nous avons le bon résultat : 80 ans 6 mois 13 jours. Pas très simple, mais efficace. Il existe d'autres formules.

Bon surf,
Christian

--
Visitez http://christianwtd.free.fr/ pour débuter avec Calc, de LibreOffice ou 
OpenOffice.org


--
Envoyez un mail à [email protected] pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/discuss/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés

Répondre à