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

Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
- - Dernière réponse : 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
-
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
1 -
Salut,

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

Merci encore

Bye
Renfield
Messages postés
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
58 -
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
1 -
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
17280
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
21 juillet 2019
58 -
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....