Calculer l'age !!!

ZZR09

XLDnaute Occasionnel
ça y est !!!

J'ai la formule qui permet de calculer l'age d'une personne à la seconde près :woohoo:

:whistle: enfin presque ...

Il y a encore quelques inconvénients : J'ai buté contre le nombre max de fonctions imbriquées ; voici mes concessions
- L'age 0 an apparaît ... on a rarement cet age là ;)
- seules les années 'basculent' à la seconde près; les autres sont à la minute près :unsure:
- 0 minute apparaît , j'étais obligé de faire des choix :eek:

Bon sinon, le reste est correcte
Peut-être qu'en calculant les années, mois, jours etc dans des cellules séparées et en concaténant le tout dans une autre, on contournerait le problème :lol:
je viens d'essayer : oui ça passe.

Au fait, voici la formule : ...

=DATEDIF(A1;MAINTENANT();'y')-SI(HEURE(MAINTENANT())<HEURE(A1);1;SI(HEURE(MAINTENANT())>HEURE(A1);0;SI(MINUTE(MAINTENANT())<MINUTE(A1);1;SI(MINUTE(MAINTENANT())>MINUTE(A1);0;SI(SECONDE(MAINTENANT())<=SECONDE(A1);1;0)))))&SI(DATEDIF(A1;MAINTENANT();'y')>1;' ans ';' an ')&SI(DATEDIF(A1;MAINTENANT();'ym')=0;;DATEDIF(A1;MAINTENANT();'ym')-SI(HEURE(MAINTENANT())<HEURE(A1);1;SI(HEURE(MAINTENANT())>HEURE(A1);0;SI(MINUTE(MAINTENANT())<=MINUTE(A1);1;0)))&' mois ')&SI(DATEDIF(A1;MAINTENANT();'md')=0;;DATEDIF(A1;MAINTENANT();'md')-SI(HEURE(MAINTENANT())<HEURE(A1);1;SI(HEURE(MAINTENANT())>HEURE(A1);0;SI(MINUTE(MAINTENANT())<=MINUTE(A1);1;0)))&' jour')&SI(DATEDIF(A1;MAINTENANT();'md')>1;'s ';' ')&SI(HEURE(MOD(MAINTENANT()-A1;1))=0;;HEURE(MOD(MAINTENANT()-A1;1))&' heure')&SI(HEURE(MOD(MAINTENANT()-A1;1))>1;'s ';' ')&MINUTE(MOD(MAINTENANT()-A1;1))&' minute'&SI(MINUTE(MOD(MAINTENANT()-A1;1))>1;'s ';' ')&SECONDE(MOD(MAINTENANT()-A1;1))&' seconde'&SI(SECONDE(MOD(MAINTENANT()-A1;1))>1;'s ';' ')

Quelqu'un a-til moins tordu :silly: ?

A+ [file name=Horaire_ter.zip size=2503]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Horaire_ter.zip[/file]
 

Pièces jointes

  • Horaire_ter.zip
    2.4 KB · Affichages: 37

Gael

XLDnaute Barbatruc
Bonjour ZZR09,

Le lien ci-dessous te permet de télécharger une macro complémentaire:

Adresse du téléchargement : Ce lien n'existe plus
nom de la macro: morefun.xll

Parmi quelques fonctions très intéressantes, tu trouveras la fonction DATEDIFF qui est plus performante que la fonction standard d'Excel et te donne en une seule formule simple 'Année mois jour', reste bien sûr à ajouter Heures, minutes et secondes, mais cela te permettra peut-être de simplifier ta formule.

@+

Gael
 

ZZR09

XLDnaute Occasionnel
Merci Bernard, Gael

mais,

Tout ce que j'ai c'est des calculs de l'age, tous basés sur cette fichue fonction DATEDIF ... ou DIFFDATE, mais les problèmes sont les mêmes (cf. message d'André 'DATEDIFF').

La formule donnée plus haut est précise à la seconde près ... sauf datedif qui fait qqs erreurs de jours !

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 499
Messages
2 088 999
Membres
104 001
dernier inscrit
dessinbecm