calcul ages

Le
Jo
Bonjour a tour,
je cherche le moyen de calculer l'ages a partir de la date de naissance
j'ai essayé i = DateDiff("yyyy", RcPersonne!DateNaissance, Date)
mais sa ne tient pas compte du jour et du mois donc c'est faux
et suis perdu dans le format des dates si quelqu'un aurait un
exemple pour m'aider
Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
David
Le #16375641
Bonjour,

J'ai mis à votre intention un bout de programme
qui calcule le nbre d'année, de mois et de jours
entre 2 dates.
A vous de jouer avec les dates de la ligne call age(
puis de modifier la présentation pour en faire ce que vous voulez :

http://users.skynet.be/DAVID/Fichiers_Tempo.htm

--
a+ Jean-Pol
Site Web : www.colovid.be
Site Web perso pour le fun : http://users.skynet.be/DAVID/


"Jo"
Bonjour a tour,
je cherche le moyen de calculer l'ages a partir de la date de naissance
j'ai essayé i = DateDiff("yyyy", RcPersonne!DateNaissance, Date)
mais sa ne tient pas compte du jour et du mois donc c'est faux
et suis perdu dans le format des dates si quelqu'un aurait un
exemple pour m'aider
Merci




Jean-marc
Le #16375771
Jo wrote:
Bonjour a tour,
je cherche le moyen de calculer l'ages a partir de la date de
naissance j'ai essayé i = DateDiff("yyyy", RcPersonne!DateNaissance,
Date) mais sa ne tient pas compte du jour et du mois donc c'est faux
et suis perdu dans le format des dates si quelqu'un aurait un
exemple pour m'aider
Merci



Hello,

les articles 84 et 154 de la FAQ contiennent de nombreux exemples
des fonctions de Date de VB:
http://faq.vb.free.fr/index.php?question„
http://faq.vb.free.fr/index.php?question4

Ces articles incluent également de très nombreux liens vers
la documentation de ces fonctions de dates.

Enfin ces articles montrent comment créer de nouvelles fonctions
à partir des fonctions de base.

Pour en revenir à ton cas précis, une bonne implémentation
a été donnée par Renfield sur VBFrance:

Age = val(datediff("D", DateNaissance, DateJour)/365.25)

Tu peux retrouver la discussion complète ici:
http://www.vbfrance.com/codes/CALCUL-AGE_38683.aspx

Bonne prog!

Cordialement;

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;
Jo
Le #16375791
Merci pour cette reponse rapide et efficace
c'est tout a fait ce que je recherchais
un grand merci

Jo


"David" : O$
Bonjour,

J'ai mis à votre intention un bout de programme
qui calcule le nbre d'année, de mois et de jours
entre 2 dates.
A vous de jouer avec les dates de la ligne call age(
puis de modifier la présentation pour en faire ce que vous voulez :

http://users.skynet.be/DAVID/Fichiers_Tempo.htm

--
a+ Jean-Pol
Site Web : www.colovid.be
Site Web perso pour le fun : http://users.skynet.be/DAVID/


"Jo"
Bonjour a tour,
je cherche le moyen de calculer l'ages a partir de la date de naissance
j'ai essayé i = DateDiff("yyyy", RcPersonne!DateNaissance, Date)
mais sa ne tient pas compte du jour et du mois donc c'est faux
et suis perdu dans le format des dates si quelqu'un aurait un
exemple pour m'aider
Merci








Jo
Le #16376131
Bonjour,
Merci pour cette reponse, j'avais essai:
iÚteDiff("d", RcPersonne!DateNaissance, Date) / 365)
donc sans le val et le .25
mais le resultat etait faux (ex: 18/07/2008 me donnait 5)
de meme avec i=Val(DateDiff("d", RcPersonne!DateNaissance, Date) / 365.25)
donc avec ton exemple voici ce que j'ai:
je controle si le mois/année est different de la date pour eviter ce 5 ou
autre
If Mid(RcPersonne!DateNaissance, 4) <> Mid(Date, 4) Then
i=Val(DateDiff("D", RcPersonne!DateNaissance, Date) / 365.25)
Else
i=0
End If

avec ca je pense que sa ira car la c'est vrai il ne me faut que l'age pour
ce logiciel
mais l'exemple de david me servira pour un autre logiciel ou la j'aurais
besoin de l'age/jour/mois

merci a vous deux pour vos exemples

Jo


"Jean-marc" discussion : 488330e7$0$2856$
Jo wrote:
Bonjour a tour,
je cherche le moyen de calculer l'ages a partir de la date de
naissance j'ai essayé i = DateDiff("yyyy", RcPersonne!DateNaissance,
Date) mais sa ne tient pas compte du jour et du mois donc c'est faux
et suis perdu dans le format des dates si quelqu'un aurait un
exemple pour m'aider
Merci



Hello,

les articles 84 et 154 de la FAQ contiennent de nombreux exemples
des fonctions de Date de VB:
http://faq.vb.free.fr/index.php?question„
http://faq.vb.free.fr/index.php?question4

Ces articles incluent également de très nombreux liens vers
la documentation de ces fonctions de dates.

Enfin ces articles montrent comment créer de nouvelles fonctions
à partir des fonctions de base.

Pour en revenir à ton cas précis, une bonne implémentation
a été donnée par Renfield sur VBFrance:

Age = val(datediff("D", DateNaissance, DateJour)/365.25)

Tu peux retrouver la discussion complète ici:
http://www.vbfrance.com/codes/CALCUL-AGE_38683.aspx

Bonne prog!

Cordialement;

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;






Eric
Le #16379591
Bonjour,

J'arrive après la bataille mais pour avoir l'age en année pleine, on
peut ausssi utiliser la formule :
Age = DateDiff("yyyy", LaDate, Date) _
+ (Format(Date, "mmdd") < Format(LaDate, "mmdd"))

Ex:
MsgBox DateDiff("yyyy", #10/21/2006#, Date) _
+ (Format(Date, "mmdd") < Format(#10/21/2006#, "mmdd"))
renverra 1

Jo a écrit :
Bonjour,
Merci pour cette reponse, j'avais essai:
iÚteDiff("d", RcPersonne!DateNaissance, Date) / 365)
donc sans le val et le .25
mais le resultat etait faux (ex: 18/07/2008 me donnait 5)
de meme avec i=Val(DateDiff("d", RcPersonne!DateNaissance, Date) / 365.25)
donc avec ton exemple voici ce que j'ai:
je controle si le mois/année est different de la date pour eviter ce 5
ou autre
If Mid(RcPersonne!DateNaissance, 4) <> Mid(Date, 4) Then
i=Val(DateDiff("D", RcPersonne!DateNaissance, Date) / 365.25)
Else
i=0
End If

avec ca je pense que sa ira car la c'est vrai il ne me faut que l'age
pour ce logiciel
mais l'exemple de david me servira pour un autre logiciel ou la j'aurais
besoin de l'age/jour/mois

merci a vous deux pour vos exemples

Jo


"Jean-marc" discussion : 488330e7$0$2856$
Jo wrote:
Bonjour a tour,
je cherche le moyen de calculer l'ages a partir de la date de
naissance j'ai essayé i = DateDiff("yyyy", RcPersonne!DateNaissance,
Date) mais sa ne tient pas compte du jour et du mois donc c'est faux
et suis perdu dans le format des dates si quelqu'un aurait un
exemple pour m'aider
Merci



Hello,

les articles 84 et 154 de la FAQ contiennent de nombreux exemples
des fonctions de Date de VB:
http://faq.vb.free.fr/index.php?question„
http://faq.vb.free.fr/index.php?question4

Ces articles incluent également de très nombreux liens vers
la documentation de ces fonctions de dates.

Enfin ces articles montrent comment créer de nouvelles fonctions
à partir des fonctions de base.

Pour en revenir à ton cas précis, une bonne implémentation
a été donnée par Renfield sur VBFrance:

Age = val(datediff("D", DateNaissance, DateJour)/365.25)

Tu peux retrouver la discussion complète ici:
http://www.vbfrance.com/codes/CALCUL-AGE_38683.aspx

Bonne prog!

Cordialement;

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;









--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Jo
Le #16380351
Bonjour,
je ne sais que dire tous les exemples qui
m'ont etait donné fonctionne parfaitement
et vous remercie tous les 3 de vos reponses
celui ci a l'avantage d'etre plus court
que celui que j"avais realiser avec les exemples
pour le resultat attendu.

encore merci
Jo

"Eric" discussion : #
Bonjour,

J'arrive après la bataille mais pour avoir l'age en année pleine, on peut
ausssi utiliser la formule :
Age = DateDiff("yyyy", LaDate, Date) _
+ (Format(Date, "mmdd") < Format(LaDate, "mmdd"))

Ex:
MsgBox DateDiff("yyyy", #10/21/2006#, Date) _
+ (Format(Date, "mmdd") < Format(#10/21/2006#, "mmdd"))
renverra 1

Jo a écrit :
Bonjour,
Merci pour cette reponse, j'avais essai:
iÚteDiff("d", RcPersonne!DateNaissance, Date) / 365)
donc sans le val et le .25
mais le resultat etait faux (ex: 18/07/2008 me donnait 5)
de meme avec i=Val(DateDiff("d", RcPersonne!DateNaissance, Date) /
365.25)
donc avec ton exemple voici ce que j'ai:
je controle si le mois/année est different de la date pour eviter ce 5
ou autre
If Mid(RcPersonne!DateNaissance, 4) <> Mid(Date, 4) Then
i=Val(DateDiff("D", RcPersonne!DateNaissance, Date) / 365.25)
Else
i=0
End If

avec ca je pense que sa ira car la c'est vrai il ne me faut que l'age
pour ce logiciel
mais l'exemple de david me servira pour un autre logiciel ou la j'aurais
besoin de l'age/jour/mois

merci a vous deux pour vos exemples

Jo


"Jean-marc" discussion : 488330e7$0$2856$
Jo wrote:
Bonjour a tour,
je cherche le moyen de calculer l'ages a partir de la date de
naissance j'ai essayé i = DateDiff("yyyy", RcPersonne!DateNaissance,
Date) mais sa ne tient pas compte du jour et du mois donc c'est faux
et suis perdu dans le format des dates si quelqu'un aurait un
exemple pour m'aider
Merci



Hello,

les articles 84 et 154 de la FAQ contiennent de nombreux exemples
des fonctions de Date de VB:
http://faq.vb.free.fr/index.php?question„
http://faq.vb.free.fr/index.php?question4

Ces articles incluent également de très nombreux liens vers
la documentation de ces fonctions de dates.

Enfin ces articles montrent comment créer de nouvelles fonctions
à partir des fonctions de base.

Pour en revenir à ton cas précis, une bonne implémentation
a été donnée par Renfield sur VBFrance:

Age = val(datediff("D", DateNaissance, DateJour)/365.25)

Tu peux retrouver la discussion complète ici:
http://www.vbfrance.com/codes/CALCUL-AGE_38683.aspx

Bonne prog!

Cordialement;

--
Jean-marc Noury (jean_marc_n2)
Microsoft MVP - Visual Basic
FAQ VB: http://faq.vb.free.fr/
mailto: remove '_no_spam_' ;









--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


Modeste
Le #16384171
Bonsour® Jo avec ferveur ;o))) vous nous disiez :

je ne sais que dire tous les exemples qui
m'ont etait donné fonctionne parfaitement
et vous remercie tous les 3 de vos reponses
celui ci a l'avantage d'etre plus court
que celui que j"avais realiser avec les exemples
pour le resultat attendu.


;o)))
alors une derniere pour le fun
Msgbox Int((DateRef-DateN) / 365.25)&" an(s) "&Int(MOD((DateRef-DateN) / (365.25 / 12),12)) & " mois "&Int(MOD((DateRef-DateN), 365.25 / 12))& " jour(s)"

--
@+
;o)))
Jacques93
Le #16384591
Bonjour Modeste,
Modeste a écrit :
Bonsour® Jo avec ferveur ;o))) vous nous disiez :

je ne sais que dire tous les exemples qui
m'ont etait donné fonctionne parfaitement
et vous remercie tous les 3 de vos reponses
celui ci a l'avantage d'etre plus court
que celui que j"avais realiser avec les exemples
pour le resultat attendu.


;o)))
alors une derniere pour le fun
Msgbox Int((DateRef-DateN) / 365.25)&" an(s) "&Int(MOD((DateRef-DateN) / (365.25 / 12),12)) & " mois "&Int(MOD((DateRef-DateN), 365.25 / 12))& " jour(s)"




Tssss, Tssss, nous sommes sur un forum VB6, pas Excel ;-)


mais j'aime bien :

MsgBox Int((DateRef - DateN) / 365.25) & " an(s) " & _
Int((DateRef - DateN) / (365.25 / 12) Mod 12) & " mois " & _
Int((DateRef - DateN) Mod (365.25 / 12)) & " jour(s)"

qui me rajeunis de 2 jours, toujours ça de pris :-D

--

Cordialement,

Jacques.
Modeste
Le #16385461
Bonsour® Jacques93 avec ferveur ;o))) vous nous disiez :

Tssss, Tssss, nous sommes sur un forum VB6, pas Excel ;-)



mais j'aime bien :
MsgBox Int((DateRef - DateN) / 365.25) & " an(s) " & _
Int((DateRef - DateN) / (365.25 / 12) Mod 12) & " mois " & _
Int((DateRef - DateN) Mod (365.25 / 12)) & " jour(s)"
qui me rajeunis de 2 jours, toujours ça de pris :-D



;O)
ton age reste cependant toujours le nombre de jours compris entre DateRef et DateN !!!

pour plus de précision ;o))) au lieu de 365.25 on aurait pu utiliser la durée d'une année tropique : 365,242 190 517 jours
et appliquer une légère correction (actuellement diminution d'environ 0,53 s par siècle).
;O)

Comme déja souvent évoqué sur MPFE, définir un age en années, mois, jours est une notion totalement inconsistante ...
Sachant que les mois ont parfois 31, 30, 29 ou 28 jours,
les années 365 ou 366 jours.
Une personne agée de 40 ans 5 mois 12 jours
selon le mode de calcul choisi, peut avoir un age (en jours) pouvant varier de 4 jours
en fonction de la date de reference , le mois de naisssance ou l'année de naissance

VB , VBA , C ou autres langages seul l'age en jours est pertinent et significatif ...
;o)))
--
@+
;o)))
Vincent Guichard
Le #16386601
Modeste a écrit :
VB , VBA , C ou autres langages seul l'age en jours est pertinent et si gnificatif ...
;o)))



La durée d'une journée étant variable (cf
http://fr.wikipedia.org/wiki/Seconde_intercalaire), je propose qu'on
calcule désormais les âges en secondes. :)

Vincent Guichard
Publicité
Poster une réponse
Anonyme