Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

calcul d'age

32 réponses
Avatar
Bernard TELLIEZ
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

10 réponses

1 2 3 4
Avatar
AndréBdR
Je ne sais pas pourquoi ma première réponse n'est pas sortie.
Alors, je recommence.
Merci.

"michdenis" a écrit dans le message de
news:%
Copie-coller vers la barre des formules et non dans la cellule !



"AndréBdR" a écrit dans le message de news:
48bd4df7$0$942$
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.



"Jacky" a écrit dans le message de
news:
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
"";")&TEXTE(DATEDIF(A1;AUJOURDHUI();"md");"[>1]0"" jours"";[>]""1
jour"";");"0jour"))

--
Salutations
JJ


"Bernard TELLIEZ" a écrit dans le message de news:
%
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









Avatar
Francois L
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


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

ctac a écrit :
La date de naissance en D3
=AUJOURDHUI()-D3
Format cellule Personnalisée y"ans "m"mois "d"jours"


Tu es sur ?



;o)) tu chipotes pour 1 mois ....

moi j'ai un petit penchant pour celle-ci en durée "Sidérale" qui est plus précise (à 0.53s prés)
Sachant que" l'année sidérale est 20 minutes et 24 secondes plus longue que l'année tropique moyenne
et que la durée de l'année tropique diminue légèrement dans le temps, actuellement d'environ 0,53 s par siècle.
;o)))

=ENT((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)"



Avatar
Francois L
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)


Je ne sais pas pourquoi ma première réponse n'est pas sortie.
Alors, je recommence.
Merci.

"michdenis" a écrit dans le message de
news:%
Copie-coller vers la barre des formules et non dans la cellule !



"AndréBdR" a écrit dans le message de news:
48bd4df7$0$942$
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.



"Jacky" a écrit dans le message de
news:
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
"";")&TEXTE(DATEDIF(A1;AUJOURDHUI();"md");"[>1]0"" jours"";[>]""1
jour"";");"0jour"))

--
Salutations
JJ


"Bernard TELLIEZ" a écrit dans le message de news:
%
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












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

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...



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 "exacte" conceptuellement...

--
@+
;o)))
Avatar
Francois L
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



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

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...



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 "exacte" conceptuellement...



Avatar
Jacky
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


"Modeste" a écrit dans le message de news:
e8zu$
Bonsour® Francois L avec ferveur ;o))) vous nous disiez :

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...



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
"exacte" conceptuellement...

--
@+
;o)))
Avatar
Modeste
Bonsour® Jacky avec ferveur ;o))) vous nous disiez :

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



;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)  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)))
Avatar
Jacky
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


"Modeste" a écrit dans le message de news:

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

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



;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)  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)))
Avatar
michdenis
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
'----------------------------------------------




"Jacky" a écrit dans le message de news:
u$
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


"Modeste" a écrit dans le message de news:

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

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



;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)  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)))
Avatar
Jacky
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


"michdenis" a écrit dans le message de news:

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
'----------------------------------------------


1 2 3 4