Excel - calcul d'age

Asked By Bernard TELLIEZ on 02-Sep-08 03:58 AM
Bonjour

A partir de la date de naissance et de la date du jour, je voudrais calculer
l'age d'une personne
sous la forme  ans,mois,jours

ex 43ans 08mois 03 jours

Pouvez-vous me conseiller?

Merci




Jacky replied on 02-Sep-08 04:37 AM
Bonjour,

Une date de naissance valide en A1
De Laurent Longre

Dans une cellule
=SUPPRESPACE(SI(AUJOURDHUI()-A1;TEXTE(DATEDIF(A1;AUJOURDHUI();"y");"[>1]0""
ans"";[>]""1 an"";")&TEXTE(DATEDIF(A1;AUJOURDHUI();"ym");"[>] 0"" mois
jour"";");"0jour"))

--
Salutations
JJ
zimou replied on 02-Sep-08 04:29 AM
Bonjour,
essaye cette formule
=DATEDIF(A1;A2;"y")&SI(DATEDIF(A1;A2;"y")>1;" ans, ";" an,
A1;A2;"md")>1;" jours";" jour")
amicalement
Zimou
Corona replied on 02-Sep-08 06:23 AM
Bonjour,

=DATEDIF(A2;B2;"y") & " ans " & DATEDIF(A2;B2;"ym") & " mois " &
DATEDIF(A2;B2;"md") & " jours"

Philippe Tulliez

Bernard TELLIEZ a écrit :
Bernard TELLIEZ replied on 02-Sep-08 10:14 AM
Merci à tous pour vos reponses

Amicalement
chuispasl replied on 02-Sep-08 10:30 AM
Après m'être posé une nouvelle fois la question "Mais de quelle planète
sort-il ce Laurent ?", je suis passé à l'acte, c.à.d. copier ces quatre
délicieuses lignes de Formule pour les coller et les exploiter dans une
Cellule d'une Feuille d'Excel.
Et comme chaque fois, je m..doie allègrement, en imaginant combien doit
m..der un amateur moins averti (sic) que moi pour transposer cette strophe
de quatre lignes, en continu, dans une seule et même cellule d'Excel...
Cette fois-ci, je ne m'en suis pas trop mal tiré en commençant par
sélectionner et copier la dernière des quatre lignes de ton texte, puis en
la portant dans une cellule d'Excel. Même démarche pour la ligne qui la
précède, que je transporte dans la barre des formules de la cellule-cible,
juste avant la saisie précédente. Et ainsi de suite jusqu'à la première
ligne, celle qui débute par le "=" fatal.
Puis "OK".
C'est laborieux, mais ça marche.
J'en viens enfin à ma question de confort: existe-t-il une méthode simple
rapide sure et accessible au commun des mortels pour transférer dans une
cellule une formule préalablement saucissonnée?
Merci d'avance.
michdenis replied on 02-Sep-08 10:36 AM
Copie-coller vers la barre des formules et non dans la cellule !



48bd4df7$0$942$ba4acef3@news.orange.fr...
Après m'être posé une nouvelle fois la question "Mais de quelle planète
sort-il ce Laurent ?", je suis passé à l'acte, c.à.d. copier ces quatre
délicieuses lignes de Formule pour les coller et les exploiter dans une
Cellule d'une Feuille d'Excel.
Et comme chaque fois, je m..doie allègrement, en imaginant combien doit
m..der un amateur moins averti (sic) que moi pour transposer cette strophe
de quatre lignes, en continu, dans une seule et même cellule d'Excel...
Cette fois-ci, je ne m'en suis pas trop mal tiré en commençant par
sélectionner et copier la dernière des quatre lignes de ton texte, puis en
la portant dans une cellule d'Excel. Même démarche pour la ligne qui la
précède, que je transporte dans la barre des formules de la cellule-cible,
juste avant la saisie précédente. Et ainsi de suite jusqu'à la première
ligne, celle qui débute par le "=" fatal.
Puis "OK".
C'est laborieux, mais ça marche.
J'en viens enfin à ma question de confort: existe-t-il une méthode simple
rapide sure et accessible au commun des mortels pour transférer dans une
cellule une formule préalablement saucissonnée?
Merci d'avance.
ctac replied on 02-Sep-08 01:13 PM
Bonjour,

La date de naissance en D3

=AUJOURDHUI()-D3

Format cellule Personnalisée y"ans "m"mois "d"jours"

ctac
Francois L replied on 02-Sep-08 01:31 PM
ctac a écrit :

Bonjour,

Tu es sur ?

--
François L
ctac replied on 02-Sep-08 01:41 PM
Mouais, c'est vrai que c'était trop simple.

ctac
Modeste replied on 02-Sep-08 02:04 PM
Bonsour=AE Francois L  avec ferveur  ;o))) vous nous disiez :=20


;o)) tu chipotes pour 1 mois ....
=20
moi j'ai un petit penchant pour celle-ci en dur=E9e "Sid=E9rale" qui est =
plus pr=E9cise (=E0 0.53s pr=E9s)
Sachant que" l'ann=E9e sid=E9rale est 20 minutes et 24 secondes plus =
longue que l'ann=E9e tropique moyenne
et que la dur=E9e de l'ann=E9e tropique diminue l=E9g=E8rement dans le =
temps, actuellement d'environ 0,53 s par si=E8cle.
;o)))

=3DENT((AUJOURDHUI()-A1)/365,256354) & " an(s) " =
&ENT(MOD(AUJOURDHUI()-A1;365,256354)/(365,256354/12))& " mois " =
&ENT(MOD((AUJOURDHUI()-A1);(365,256354/12))) & " jr(s)"

--=20
@+
;o)))
chuispasl replied on 02-Sep-08 02:22 PM
Je ne sais pas pourquoi ma première réponse n'est pas sortie.
Alors, je recommence.
Merci.
Francois L replied on 02-Sep-08 03:21 PM
Modeste a écrit :

Bonsoir Modeste,

Ben oui, je chipote un peu pour un mois... le pire c'est que j'ai testé
en me disant est-il possible que tous les LL et autres soient passés à
coté d'une solution aussi simple.

Quand à l'année "sidérale", je dois avouer ma totale incompétence...

--
François L
Francois L replied on 02-Sep-08 03:24 PM
AndréBdR a écrit :

Bonsoir,

Ta première réponse, c'est celle de 16 h 30 ? Si oui, elle est
parfaitement visible sur le serveur de Microsoft.

--
François L
qui a lu la rubrique MPFE d'excelabo :o)
Modeste replied on 02-Sep-08 03:54 PM
Bonsour=AE Francois L  avec ferveur  ;o))) vous nous disiez :=20

incomp=E9tence...

Le probleme de l'=E2ge est un classique des calculs sur dates et qui =
n'admet de solution exacte qu'en terme de jours.
la division en ann=E9es qui ont parfois 365 ou 366 jours,=20
la division en mois qui ont 28, 29,30 ou 31 jours en est la pierre =
d'achoppement...

partant du principe qu'une personne dit (=E0 une date donn=E9e) avoir  : =
33 ans 7 mois et 15 jours
trouver la date de naissance ???
selon les divers algorithmes publi=E9s ici et sur d'autres forums on =
aura 3 =E0 4 r=E9ponses diff=E9rentes ;o)))

c'est pourquoi, ;o)))
je glisse r=E9gulierement ma petite formule "sid=E9rale" qui permet un =
calcul lineaire et r=E9versible de ce sujet .
Elle ne satisfera pas certe tout les esprits pointilleux, mais elle est =

--=20
@+
;o)))
Francois L replied on 02-Sep-08 04:29 PM
Modeste a écrit :

Re,

Perso je travaille sous Sas et beaucoup sur les dates et les dates
anniversaires... Sas a une gestion des dates et des calendriers
autrement plus performante qu'Excel mais le calcul "exact" d'un age
donne aussi lieu à des échanges homériques dans le forum adhoc.

Malgré sa puissance et ses fonctions intégrées (dont une Datediff
documentée), il faut la aussi recourir à une formule disons sophistiquée
:o) donc ma naïveté était toute relative.

J'aime bien l'idée du "conceptuellement exact"...

--
François L
Jacky replied on 03-Sep-08 04:16 AM
Bonjour Modeste

Il y a tout de même un écart de deux jours entre le code de LL et le tien
dans certain cas.
Je veux pas chipoté, mais deux jours .....c'est beaucoup sur moins de deux
ans.
http://cjoint.com/?jdkp0mEf30

--
Salutations
JJ


Bonsour® Francois L  avec ferveur  ;o))) vous nous disiez :


Le probleme de l'âge est un classique des calculs sur dates et qui n'admet
de solution exacte qu'en terme de jours.
la division en années qui ont parfois 365 ou 366 jours,
la division en mois qui ont 28, 29,30 ou 31 jours en est la pierre
d'achoppement...

partant du principe qu'une personne dit (à une date donnée) avoir  : 33 ans
7 mois et 15 jours
trouver la date de naissance ???
selon les divers algorithmes publiés ici et sur d'autres forums on aura 3 à
4 réponses différentes ;o)))

c'est pourquoi, ;o)))
je glisse régulierement ma petite formule "sidérale" qui permet un calcul
lineaire et réversible de ce sujet .
Elle ne satisfera pas certe tout les esprits pointilleux, mais elle est

--
@+
;o)))
Modeste replied on 03-Sep-08 05:56 AM
Bonsour=AE Jacky  avec ferveur  ;o))) vous nous disiez :=20

le
de

;o)))
C'est tout a fait ce que je disais, cet =E9cart pourrai m=EAme aller =
jusque 4 jours !

Partant du principe que j'ai un profond respect pour notre mentor...
et conformement aux innombrables =E9changes hom=E9riques ayant d=E9ja =
eut lieu ici m=EAme
ma proposition reflete ce que j'ai dis pr=E9c=E9dement :
Le probleme de l'=E2ge est un classique qui n'admet de solution exacte =
qu'en terme de jours.
l'utilisation d'une dur=E9e annuelle constante, et d'une subdivision =
mensuelle qui est =E0 la fois multiple de la division jour  et =
sous-multiple de la division ann=E9e
1 an=3D 365,256354 jours
1 mois=3D 30,438029 jours
permet la r=E9versibilit=E9 de la fonction propos=E9e ce qui est un =
minimum en terme d'unicit=E9 :

;o)))
avec la logique Modeste
17/02/1939 =3D> 69 ans 6 mois 15 jours
r=E9versibilit=E9 Modeste
AUJOURDHUI()-((69*365,256354) +(6 * 30,438029) +15) =3D17 F=E9v 1939
reversibilit=E9 EXCEL
DATE(ANNEE(AUJOURDHUI())-69;MOIS(AUJOURDHUI())-6;-15) =3D  13 F=E9v 1939

avec la logique DateDif
17/02/1939 =3D> 69 ans 6 mois 17 jours
r=E9versibilit=E9 Modeste
AUJOURDHUI()-((69*365,256354) +(6 * 30,438029) +17) =3D 15 F=E9v 1939
reversibilit=E9 EXCEL
DATE(ANNEE(AUJOURDHUI())-69;MOIS(AUJOURDHUI())-6;-17) =3D  11 F=E9v 1939

qui pourra =E9ventuellement confirmer ou infirmer ??
ou bien fournir un algorithme quant =E0 la r=E9versibilit=E9 de la =
m=E9thode DateDif

le Banni du 17 f=E9vrier est exclu du challenge ;o)))


--=20
--=20
@+
;o)))
Jacky replied on 03-Sep-08 12:46 PM
Merci Modeste
Belle démo
L'étonnant, ne serait-ce que pour calculer l'âge du Mgr.(en plus un mois de
février) ,que MS ne dispose pas de fonction correcte.
Datedif n'étant pas une fonction répertoriée....

--
Salutations
JJ


Bonsour® Jacky  avec ferveur  ;o))) vous nous disiez :


;o)))
C'est tout a fait ce que je disais, cet écart pourrai même aller jusque 4
jours !

Partant du principe que j'ai un profond respect pour notre mentor...
et conformement aux innombrables échanges homériques ayant déja eut lieu ici
même
ma proposition reflete ce que j'ai dis précédement :
Le probleme de l'âge est un classique qui n'admet de solution exacte qu'en
terme de jours.
l'utilisation d'une durée annuelle constante, et d'une subdivision mensuelle
qui est à la fois multiple de la division jour  et sous-multiple de la
division année
1 an= 365,256354 jours
1 mois= 30,438029 jours
permet la réversibilité de la fonction proposée ce qui est un minimum en
terme d'unicité :

;o)))
avec la logique Modeste
17/02/1939 => 69 ans 6 mois 15 jours
réversibilité Modeste
AUJOURDHUI()-((69*365,256354) +(6 * 30,438029) +15) =17 Fév 1939
reversibilité EXCEL
DATE(ANNEE(AUJOURDHUI())-69;MOIS(AUJOURDHUI())-6;-15) =  13 Fév 1939

avec la logique DateDif
17/02/1939 => 69 ans 6 mois 17 jours
réversibilité Modeste
AUJOURDHUI()-((69*365,256354) +(6 * 30,438029) +17) = 15 Fév 1939
reversibilité EXCEL
DATE(ANNEE(AUJOURDHUI())-69;MOIS(AUJOURDHUI())-6;-17) =  11 Fév 1939

qui pourra éventuellement confirmer ou infirmer ??
ou bien fournir un algorithme quant à la réversibilité de la méthode DateDif

le Banni du 17 février est exclu du challenge ;o)))


--
--
@+
;o)))
michdenis replied on 03-Sep-08 01:16 PM
Au moins de mai, il y avait eu une discussion sur le sujet
mais à propos de "DateDif"....très intéressant :

http://groups.google.fr/group/microsoft.public.fr.excel/search?hl=fr&group=microsoft.public.fr.excel&q=pb+calcul+duree+avec+datedif&qt_g=Rechercher+dans+ce+groupe

Où j'avais proposé cette procédure :

Une fonction personnelle parue ici sous la plume de "cervolent"

'----------------------------------------------
Function TEMPSECOULE(Debut, Fin) As String
Dim ValAnnée As Integer, ValMois As Integer
Dim ValJour As Integer, ValJour1 As Integer, ValJour2 As Integer

ValAnnée = Year(Fin) - Year(Debut)
ValMois = Month(Fin) - Month(Debut)
If ValMois < 0 Then
ValAnnée = ValAnnée - 1
ValMois = ValMois + 12
End If
ValJour1 = Day(Debut)
ValJour2 = Day(Fin)
ValJour = ValJour2 - ValJour1
If ValJour < 0 Then
ValJour = Day(DateSerial(Year(Debut), Month(Debut) + 1, 0)) - ValJour1 +
ValJour2
If ValMois > 0 Then
ValMois = ValMois - 1
Else
ValAnnée = ValAnnée - 1
ValMois = 11
End If
End If
'les tests qui suivent ne servent qu'aux accrords de pluriel !!
If ValAnnée > 1 Then
antexte = " ans "
Else
antexte = " an "
End If
If ValJour > 1 Then
jrtexte = " jours"
Else
jrtexte = " jour"
End If
TEMPSECOULE = ValAnnée & antexte & ValMois & " mois " & ValJour & jrtexte
End Function
'----------------------------------------------




Merci Modeste
Belle démo
L'étonnant, ne serait-ce que pour calculer l'âge du Mgr.(en plus un mois de
février) ,que MS ne dispose pas de fonction correcte.
Datedif n'étant pas une fonction répertoriée....

--
Salutations
JJ


Bonsour® Jacky  avec ferveur  ;o))) vous nous disiez :


;o)))
C'est tout a fait ce que je disais, cet écart pourrai même aller jusque 4
jours !

Partant du principe que j'ai un profond respect pour notre mentor...
et conformement aux innombrables échanges homériques ayant déja eut lieu ici
même
ma proposition reflete ce que j'ai dis précédement :
Le probleme de l'âge est un classique qui n'admet de solution exacte qu'en
terme de jours.
l'utilisation d'une durée annuelle constante, et d'une subdivision mensuelle
qui est à la fois multiple de la division jour  et sous-multiple de la
division année
1 an= 365,256354 jours
1 mois= 30,438029 jours
permet la réversibilité de la fonction proposée ce qui est un minimum en
terme d'unicité :

;o)))
avec la logique Modeste
17/02/1939 => 69 ans 6 mois 15 jours
réversibilité Modeste
AUJOURDHUI()-((69*365,256354) +(6 * 30,438029) +15) =17 Fév 1939
reversibilité EXCEL
DATE(ANNEE(AUJOURDHUI())-69;MOIS(AUJOURDHUI())-6;-15) =  13 Fév 1939

avec la logique DateDif
17/02/1939 => 69 ans 6 mois 17 jours
réversibilité Modeste
AUJOURDHUI()-((69*365,256354) +(6 * 30,438029) +17) = 15 Fév 1939
reversibilité EXCEL
DATE(ANNEE(AUJOURDHUI())-69;MOIS(AUJOURDHUI())-6;-17) =  11 Fév 1939

qui pourra éventuellement confirmer ou infirmer ??
ou bien fournir un algorithme quant à la réversibilité de la méthode DateDif

le Banni du 17 février est exclu du challenge ;o)))


--
--
@+
;o)))
Jacky replied on 03-Sep-08 02:55 PM
Re...
Je viens de parcourir.....
Ben dit donc, y a vraiment pas de VRAI solution
Ceci explique cela
http://cjoint.com/?jduYMvj4Ey
N'explique pas devrais-je dire.
--
Salutations
JJ
Modeste replied on 03-Sep-08 03:16 PM
Bonsour=AE Jacky  avec ferveur  ;o))) vous nous disiez :=20


Ce que concluait Josiane BdR :
jours, sans=20
ordinateur, garnit le mur de sa ge=F4le de barres verticales durement=20
inscrites du bout du manche de sa cuill=E8re en bois. "
;o)))


--=20
@+
;o)))
chuispasl replied on 03-Sep-08 03:17 PM
Deux jumeaux, qui naissent à un jour d'intervalle (ça arrive), s'ouvrent à
la vie le 28 Février pour le premier, et le lendemain pour le second.
Si l'année est bissextile, ils sont nés le même mois.
Si c'est une année normale, ils sont nés sur deux mois différents.
Ils conserveront toujours cette journée d'écart, quelle que soit la méthode
de calcul dirait Modeste.
C'était aussi l'avis de ma grand-mère qui ne connaissait rien en
informatique.
Moi, DATEDIF, j'ai compris que je ne l'utiliserai jamais.
michdenis replied on 03-Sep-08 03:29 PM
C'est ce que je disais, la proposition de Cervolent
est la meilleure des solutions inexactes ...;-))



Re...
Je viens de parcourir.....
Ben dit donc, y a vraiment pas de VRAI solution
Ceci explique cela
http://cjoint.com/?jduYMvj4Ey
N'explique pas devrais-je dire.
--
Salutations
JJ
Jacky replied on 03-Sep-08 03:48 PM
Re...

Celle de modeste me tente car elle permet de remonte dans le temps sans
erreur.
Pour MA date de naissance, j'utiliserai celle de "cervolent", .....c'est
toujours un jour de gagné ;o))))

Les MVPs n'ont pas de pouvoir pour ce genre d'erreur chez MS ???

--
Salutations
JJ


48bee2e7$0$954$ba4acef3@news.orange.fr...
Modeste replied on 03-Sep-08 04:05 PM
Bonsour=AE Jacky  avec ferveur  ;o))) vous nous disiez :=20


ce n'est pas un probleme MS,=20
c'est un probleme g=E9n=E9ral pour les calculs en ann=E9es, mois, jours
la notion de mois n'est pas une fraction exacte de l'ann=E9e !!!!

--=20
--=20
@+
;o)))
Jacky replied on 03-Sep-08 04:18 PM
Re...
Evidemment !
Désolé, la question était idiote.
A force....

--
Salutations
JJ


Bonsour® Jacky  avec ferveur  ;o))) vous nous disiez :


ce n'est pas un probleme MS,
c'est un probleme général pour les calculs en années, mois, jours
la notion de mois n'est pas une fraction exacte de l'année !!!!

--
--
@+
;o)))
Jacquouille replied on 04-Sep-08 04:40 AM
Bonjour Gilbert, et les autres
Tout ça est ben vrai.
Et si on ne tenait pas compte de la longueur des mois?
Du 28/2/2007 au 28/2/09 , ce serait deux ans, avec sous sans bi-sexilité.
Du 28/2 au 28/3, ce serait 1 mois, avec ou sans bi-sexilité?
Ce ne serait pas plus simple?
Perso, je suis né en janvier, afin d'éviter ce problème. -)
Bonne journée à tous.

--
Bien amicalmement,

Jacquouille.

Bonsour® Jacky  avec ferveur  ;o))) vous nous disiez :


ce n'est pas un probleme MS,
c'est un probleme général pour les calculs en années, mois, jours
la notion de mois n'est pas une fraction exacte de l'année !!!!

--
--
@+
;o)))
Modeste replied on 04-Sep-08 04:55 AM
Bonsour=AE 18851jrs  avec ferveur  ;o))) vous nous disiez :=20


alors dit-nous :=20
51 ans 7 mois=20
mais 9 ou 11 jours  ????

tu as 2 jours de sursis ;o)))

--=20
--=20
@+
;o)))
Jacquouille replied on 04-Sep-08 02:19 PM
Salut Gilbert
Pourquoi être si tatillon pour 2 jours alors que ta formule me rajeunit de
10 ans ?  -)))

--
Bien amicalmement,

Jacquouille.

Bonsour® 18851jrs  avec ferveur  ;o))) vous nous disiez :


alors dit-nous :
51 ans 7 mois
mais 9 ou 11 jours  ????

tu as 2 jours de sursis ;o)))

--
--
@+
;o)))
Padre Vikal Mart replied on 05-Sep-08 09:47 AM
Bonsour=AE 22505 jours  avec ferveur  ;o))) vous nous disiez :=20


tu vois mon bon Jacquouille avec l'age, l'=E9cart s'est r=E9duit =3D 1 =
jour
Formule DateDif  : 61 ans 7 mois 12 jours
Formule "Sid=E9rale" : 61 an(s) 7 mois 11 jr(s)

et que =E9tant moi-m=EAme n=E9 un 24 (*) jour de St Modeste ;o)))
je te suis de 2 an(s) 1 mois 1 jr(s)
le 1 jr s'expliquant alors par le fait que l'ann=E9e 1948 =E9tait =
bissextile

(*)
tu pourra dor=E9navant m' appeler :=20
p. a. d. VI Kal.Mart
pen ante diem sextum Kalendas Martias
Jacquouille replied on 05-Sep-08 11:13 AM
OK, mais tout cela ne m'explique pas comment tu peux m'en donner 61 alors
que l'année de mon premier cri est bien 1948.
Ta formule est peut-être sidérale, mais elle me sidère....-)

--
Bien amicalmement,

Jacquouille.

Bonsour® 22505 jours  avec ferveur  ;o))) vous nous disiez :


tu vois mon bon Jacquouille avec l'age, l'écart s'est réduit = 1 jour
Formule DateDif  : 61 ans 7 mois 12 jours
Formule "Sidérale" : 61 an(s) 7 mois 11 jr(s)

et que étant moi-même né un 24 (*) jour de St Modeste ;o)))
je te suis de 2 an(s) 1 mois 1 jr(s)
le 1 jr s'expliquant alors par le fait que l'année 1948 était bissextile

(*)
tu pourra dorénavant m' appeler :
p. a. d. VI Kal.Mart
pen ante diem sextum Kalendas Martias
Mgr Banni replied on 05-Sep-08 12:24 PM
Mgr Abile se joint à moi pour vous souhaiter bienvenue au club, padre
le latin est là, ne manque plus que la musique d'Ennio Morricone
Mgr T.B.


tu pourras dorénavant m' appeler :
p. a. d. VI Kal.Mart
pen ante diem sextum Kalendas Martias