DÉTERMINER L'ÂGE À PARTIR DE LA DATE DE NAISSANCE

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 - 28 mai 2003 à 15:02
nadifnet Messages postés 1 Date d'inscription mardi 9 août 2005 Statut Membre Dernière intervention 18 novembre 2009 - 18 nov. 2009 à 21:20
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/7259-determiner-l-age-a-partir-de-la-date-de-naissance

nadifnet Messages postés 1 Date d'inscription mardi 9 août 2005 Statut Membre Dernière intervention 18 novembre 2009
18 nov. 2009 à 21:20
Merci Bq pour le code
philippe laschweng 1 Messages postés 278 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 13 avril 2013 2
20 janv. 2006 à 14:23
Salut,

Les deux solutions fonctionnent avec les années bisextilles???
Je vais allé déclarer les variables !

Merci encore

Bye
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
20 janv. 2006 à 13:48
le résultat est correct....
n'oublie pas de déclarer tes variables :

Dim année_nais As Integer
Dim mois_nais As Integer
Dim jour_nais As Integer
Dim année As Integer
Dim mois As Integer
Dim jour As Integer

à noter que tu pourrais faire :
Public Function age(DateNaissance As Date) as integer
age = Int(DateDiff("d", DateNaissance, Date) / 365.25)
End Function
philippe laschweng 1 Messages postés 278 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 13 avril 2013 2
20 janv. 2006 à 13:38
Source intéressante ! Je me suis permis de la transformer en fonction !

Public Function age(DateNaissance As Date)
Dim a As Integer

année_nais = DateTime.Year(DateNaissance)
mois_nais = DateTime.Month(DateNaissance)
jour_nais = DateTime.Day(DateNaissance)

année = DateTime.Year(Date)
mois = DateTime.Month(Date)
jour = DateTime.Day(Date)

a = année - année_nais

If mois_nais > mois Then age = a - 1
If mois_nais < mois Then age = a
If mois_nais = mois Then GoTo line1

GoTo lastline
line1:
If jour_nais > jour Then age = a - 1
If jour_nais <jour Then age a

lastline:
End Function
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
27 sept. 2003 à 17:27
Tu fais bien de parler, Sibelle, vu l'utilisté de ce que tu met sur le site.

Au contraire, il est illogique de stocker l'age d'une personne dans une base de données !! Par contre, la date de naissance, qui elle ne change pas a lieu de l'etre. Pour connaitre l'age d'une personne, il ne te reste plus qu'a calculer, comme le fait Calisaga.

Le Soft en lui même n'est pas utile. Le script utilisé l'est déjà plus....
Sibelle07 Messages postés 206 Date d'inscription dimanche 14 septembre 2003 Statut Membre Dernière intervention 25 mars 2005
27 sept. 2003 à 17:23
l'idée est bonne mais je ne voit pas a quoi sela me sert t'il :o
5 / 10
dbhorus Messages postés 1 Date d'inscription jeudi 29 mai 2003 Statut Membre Dernière intervention 29 mai 2003
29 mai 2003 à 16:58
mais à quoi il te sert ce prog ?
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
29 mai 2003 à 15:07
oui, encore des divisions en perspectives....
sebleboss2002 Messages postés 189 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 3 avril 2005
29 mai 2003 à 11:53
mouai.... jusque là, tout va bien. Mais ce serait encore plus mieux de donner le nombre de jours mois et années d'une personne.
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
29 mai 2003 à 11:23
exact, tu retire la virgule si ca t'amuses, mais j'ai effectivement 19 ans.....
sebleboss2002 Messages postés 189 Date d'inscription lundi 30 décembre 2002 Statut Membre Dernière intervention 3 avril 2005
29 mai 2003 à 10:56
Alors tu as 19,4086242299795 ans, si j'ai bien compris ;)
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 mai 2003 à 15:07
et moi qui pensait que ca suffisait ! :

AgeDeRenfield = ( date - cdate("31/12/1983"))/365.25

soit le nombre de jours entre les dates , divisé par 365.25 (année bisextiles)

bon, c'est pas parfait, mais ca fonctionne.......
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
28 mai 2003 à 15:02
ce serait bien de donner la declaration de ta procédure ...(qui ferait mieux , d'ailleurs d'être une fonction)
Rejoignez-nous