Calcul de l'âge ...

  • Initiateur de la discussion – €ric –
  • Date de début

– €ric –

Guest
Salut à tous,

Pour connaître l'âge révolu de quelqu'un j'ai utilisé la formule suivante
que je soumets à votre sagacité...

=SI(OU(ET(JOUR(Naissance)>=JOUR(AUJOURDHUI());MOIS(Naissance)>=MOIS(AUJOURDHUI()));MOIS(Naissance)>MOIS(AUJOURDHUI()));ANNEE(AUJOURDHUI())-ANNEE(Naissance);ANNEE(AUJOURDHUI())-ANNEE(Naissance)-1)

(Naissance étant le nom donné à la date de naissance)

2 questions :
- est-elle valide dans tous les cas ?
- quelqu'un peut-il proposer une soluce + simple ?

Merci d'avance...



- €ric -
 
@

@Christophe@

Guest
Bonjour €ric

Moi j'utilise la fonction suivante

=DATEDIF(Naissance;AUJOURDHUI();"y")

Pour utilisé DateDif, dans le menu outils, Macro complémentaire tu dois coché l'utilitaire d'analyse!


P.S. Pour ta formule a toi, elle me donne 1 an de plus

@Christophe@
 

– €ric –

Guest
Salut Christophe,
Salut Christophe,

Merci de ta réponse rapide.
Je me suis trompé dans la formule, j'ai inversé les 2 dates,
ça donne :

=SI(OU(ET(JOUR(AUJOURDHUI())>=JOUR(Naissance);MOIS(AUJOURDHUI())>=MOIS(Naissance));MOIS(AUJOURDHUI())>MOIS(Naissance));ANNEE(AUJOURDHUI())-ANNEE(Naissance);ANNEE(AUJOURDHUI())-ANNEE(Naissance)-1)

Je n'ai pas ta fonction (peut être as-tu le nom en Fr ?).

Merci et @+



- €ric -​
 
M

Monique

Guest
Bonjour,

Il y a en effet la fonction DATEDIF qui donne l'âge précis mais si tu ne veux que l'âge révolu, tu peux essayer ceci :
=SI(AUJOURDHUI()>=naissance;ENT((AUJOURDHUI()-naissance)/365,25);"n'importe quoi")

Fonction DATEDIF
<http://www.cathyastuce.com/excel/form_qqesfonctions.htm#heure>
<http://longre.free.fr/pages/form/dateheure.htm#DATEDIF>
<http://disciplus.simplex.free.fr/xl/dates.htm#datedif>

Sur le forum, il y a un classeur de calcul d'âge (datedif et autres) :
<http://www.excel-downloads.com/html/French/forum/messages/1_17981_17981.htm>
 
M

Monique

Guest
Re,

L'âge révolu =DATEDIF(naissance;AUJOURDHUI();"y")
J'ai décoché l'option "utilitaire d'analyse" et ça fonctionne quand même.
Mais je ne trouve pas cette fonction dans la liste des fonctions.
L'aide d'Excel n'en parle pas non plus.
 

– €ric –

Guest
Merci à tous les 2.

Je ne connaissais pas cette fonction (non documentée ?)
qui répond parfaitement à mes attentes.

Encore une fois, le forum a réponse à tout,

BRAVO



- €ric -​
 

– €ric –

Guest
Re salut,

J'ai trouvé la doc de la fonction dans l'aide (cf. dessous) :

DATEDIF()
Calcule le nombre de jours, de mois ou d'années séparant deux dates. Cette fonction est fournie pour assurer une compatibilité avec Lotus 1-2-3.

Syntaxe

DATEDIF(date_début,date_fin,unité)
Date_début est une date qui représente la première date, ou date de début, de la période. Les dates peuvent être entrées sous forme de chaînes de caractères délimitées par des guillemets (par exemple, "30/1/2001"), sous forme de numéros de série (par exemple, 36921, qui représente le 30 janvier 2001, si vous utilisez le format de calendrier depuis 1900), ou sous forme de résultats d'autres formules ou fonctions (par exemple, DATEVAL("30/1/2001")). Pour plus d'informations sur les dates exprimées sous forme de numéros de série, consultez MAINTENANT.

Date_fin est une date qui représente la dernière date, ou date de fin, de la période.

Unité est le type d'informations qui doit être renvoyé.

Unité Renvoie
"A" Le nombre d'années entières comprises dans la période.
"M" Le nombre de mois entiers compris dans la période.
"J" Le nombre de jours compris dans la période.
"MJ" La différence entre les jours de date_début et date_fin. Les mois et les années des dates ne sont pas pris en compte.
"AM" La différence entre les mois de date_début et date_fin. Les jours et les années des dates ne sont pas pris en compte.
"AJ" La différence entre les jours de date_début et date_fin. Les années des dates ne sont pas prises en compte.

DATEDIF("1/1/2001","1/1/2003","A") égale 2, c'est-à-dire deux années entières dans la période.

DATEDIF("1/6/2001","15/8/2002","J") égale 440, c'est-à-dire 440 jours entre le 1er juin 2001 et le 15 août 2002.

DATEDIF("1/6/2001","15/8/2002","AJ") égale 75, c'est-à-dire 75 jours entre le 1er juin et le15 août, sans tenir compte des années des dates.

DATEDIF("1/6/2001","15/8/2002","MJ") égale 14, c'est-à-dire la différence entre 1 et 15 — le jour de date_début et le jour de date_fin — sans tenir compte des mois et des années des dates.

@+



- €ric -
 
C

chris

Guest
Bonjour,
Effectivement Excel (français) ne liste pas cette fonction qui fait partie des fonctions de base : je l'ai découverte dans un trucs et astuces.
Elle existe aussi dans ACCESS en diffdate.
Chris
 
P

Pat

Guest
Bonjour à tous,

Moi j'ai un problème un peu plus complexe à résoudre et je dois dire que je m'en sors pas !

Je connais toutes ces fonctions mais je ne vois pas comment les appliquer à mon cas :

Un homme naît le 4 janvier 1975, je veux connaître sa date exacte de retraite, soit 65 ans plus tard, le 1er jour du mois suivant son mois de naissance...!!!

Si quelqu'un à la soluce chui preneur avec joie !!!
 

Discussions similaires

Statistiques des forums

Discussions
290 834
Messages
1 910 792
Membres
176 869
dernier inscrit
veusavoir
Haut Bas