OVH Cloud OVH Cloud

Calcule de l'age du personne

6 réponses
Avatar
Jacquouille Le Gaulois
Bonjour à tous,

Je veux calculer l'age d'un personne automatiquement après avoir entré
sa date de naissance
J'ai cherché sur Google et j'ai trouvé cette formule
Age=DateDiff(";"yyyy";",[Bdate],Now())+Int( Format(now(),";"mmdd";") <
Format( [Bdate], ";") ) mais étant un débutant d'access je ne sais pas
ou mettre cette formule

Merci d'avance pour votre aide

--
("|`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
(_Y_.)' ._ ) `._ `. ``-..-'
_..`--'_..-_/ /--'_.' ,'
(il),-'' (li),' ((!.-'

6 réponses

Avatar
bipbipcoyote
cela se place dans une requête, tu obtiens alors un champs calculé ... tu
peux aussi utiliser la formule
Arrond((Date()-[BIRTHDATE])/364,24) (en admettant que BIRTHDATE est le champ
contenant la date de naissance) Ma technique : tu crées une requête mise à
jour pour un champ AGE avec cette formule, et ensuite un bouton sur le
formulaire ou un appel par VBA



"Jacquouille Le Gaulois" a écrit dans le message
de news:
Bonjour à tous,

Je veux calculer l'age d'un personne automatiquement après avoir entré
sa date de naissance
J'ai cherché sur Google et j'ai trouvé cette formule
AgeÚteDiff(";"yyyy";",[Bdate],Now())+Int( Format(now(),";"mmdd";") <
Format( [Bdate], ";") ) mais étant un débutant d'access je ne sais pas
ou mettre cette formule

Merci d'avance pour votre aide

--
("|`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
(_Y_.)' ._ ) `._ `. ``-..-'
_..`--'_..-_/ /--'_.' ,'
(il),-'' (li),' ((!.-'



Avatar
Jean-Claude
QUESTION :

Comment calculer un âge en années et mois par rapport à une date de
naissance
dans Microsoft Access ?

REPONSE :

Créez un module et ajoutez les lignes suivantes :

Option Explicit

Function Age (var As Variant)
Dim varAge As Variant

If IsNull(var) Then Age = 0: Exit Function

varAge = DateDiff("yyyy", var, Now)
If Date < DateSerial(Year(Now), Month(var), Day(var)) Then
varAge = varAge - 1
End If
Age = varAge
End Function

Function AgeMonths (ByVal StartDate As String)
Dim tAge As Double
tAge = (DateDiff("m", StartDate, Now))
If (DatePart("d", StartDate) > DatePart("d", Now)) Then
tAge = tAge - 1
End If

If tAge < 0 Then
tAge = tAge + 1
End If

AgeMonths = tAge Mod 12

End Function


Afin d'afficher le résultat, tapez la formule suivante dans la propriété
Source
contrôle d'un contrôle de formulaire (nom de champ correspond au champ
où est stockée la date de naissance) :

=Age([nom de champ]) & " ans et " & AgeMonths([nom de champ]) & " mois"

Si tu ne veux pas les mois passe la fonction AgeMonths


"Jacquouille Le Gaulois" a écrit dans le message
de news:
Bonjour à tous,

Je veux calculer l'age d'un personne automatiquement après avoir entré
sa date de naissance
J'ai cherché sur Google et j'ai trouvé cette formule
AgeÚteDiff(";"yyyy";",[Bdate],Now())+Int( Format(now(),";"mmdd";") <
Format( [Bdate], ";") ) mais étant un débutant d'access je ne sais pas
ou mettre cette formule

Merci d'avance pour votre aide

--
("|`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
(_Y_.)' ._ ) `._ `. ``-..-'
_..`--'_..-_/ /--'_.' ,'
(il),-'' (li),' ((!.-'



Avatar
Jacquouille Le Gaulois
Merci Jean Claude c'est tous à fait ce que je cherchais ;-)



QUESTION :

Comment calculer un âge en années et mois par rapport à une date de
naissance
dans Microsoft Access ?

REPONSE :

Créez un module et ajoutez les lignes suivantes :

Option Explicit

Function Age (var As Variant)
Dim varAge As Variant

If IsNull(var) Then Age = 0: Exit Function

varAge = DateDiff("yyyy", var, Now)
If Date < DateSerial(Year(Now), Month(var), Day(var)) Then
varAge = varAge - 1
End If
Age = varAge
End Function

Function AgeMonths (ByVal StartDate As String)
Dim tAge As Double
tAge = (DateDiff("m", StartDate, Now))
If (DatePart("d", StartDate) > DatePart("d", Now)) Then
tAge = tAge - 1
End If

If tAge < 0 Then
tAge = tAge + 1
End If

AgeMonths = tAge Mod 12

End Function


Afin d'afficher le résultat, tapez la formule suivante dans la propriété
Source
contrôle d'un contrôle de formulaire (nom de champ correspond au champ
où est stockée la date de naissance) :

=Age([nom de champ]) & " ans et " & AgeMonths([nom de champ]) & " mois"

Si tu ne veux pas les mois passe la fonction AgeMonths


"Jacquouille Le Gaulois" a écrit dans le message
de news:
Bonjour à tous,

Je veux calculer l'age d'un personne automatiquement après avoir entré
sa date de naissance
J'ai cherché sur Google et j'ai trouvé cette formule
AgeÚteDiff(";"yyyy";",[Bdate],Now())+Int( Format(now(),";"mmdd";") <
Format( [Bdate], ";") ) mais étant un débutant d'access je ne sais pas
ou mettre cette formule

Merci d'avance pour votre aide

--
("|`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
(_Y_.)' ._ ) `._ `. ``-..-'
_..`--'_..-_/ /--'_.' ,'
(il),-'' (li),' ((!.-'



--
("|`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
(_Y_.)' ._ ) `._ `. ``-..-'
_..`--'_..-_/ /--'_.' ,'
(il),-'' (li),' ((!.-'


Avatar
Jean-Claude
Elle n'est pas de moi mais de Pierre ou Raymon ou..enfin un des cracs... Moi
je n'en suis pas capable..enfin je suis capable de l'utiliser :-)

"Jacquouille Le Gaulois" a écrit dans le message
de news:
Merci Jean Claude c'est tous à fait ce que je cherchais ;-)



QUESTION :

Comment calculer un âge en années et mois par rapport à une date de
naissance
dans Microsoft Access ?

REPONSE :

Créez un module et ajoutez les lignes suivantes :

Option Explicit

Function Age (var As Variant)
Dim varAge As Variant

If IsNull(var) Then Age = 0: Exit Function

varAge = DateDiff("yyyy", var, Now)
If Date < DateSerial(Year(Now), Month(var), Day(var)) Then
varAge = varAge - 1
End If
Age = varAge
End Function

Function AgeMonths (ByVal StartDate As String)
Dim tAge As Double
tAge = (DateDiff("m", StartDate, Now))
If (DatePart("d", StartDate) > DatePart("d", Now)) Then
tAge = tAge - 1
End If

If tAge < 0 Then
tAge = tAge + 1
End If

AgeMonths = tAge Mod 12

End Function


Afin d'afficher le résultat, tapez la formule suivante dans la propriété
Source
contrôle d'un contrôle de formulaire (nom de champ correspond au champ
où est stockée la date de naissance) :

=Age([nom de champ]) & " ans et " & AgeMonths([nom de champ]) & " mois"

Si tu ne veux pas les mois passe la fonction AgeMonths


"Jacquouille Le Gaulois" a écrit dans le
message


de news:
Bonjour à tous,

Je veux calculer l'age d'un personne automatiquement après avoir entré
sa date de naissance
J'ai cherché sur Google et j'ai trouvé cette formule
AgeÚteDiff(";"yyyy";",[Bdate],Now())+Int( Format(now(),";"mmdd";") <
Format( [Bdate], ";") ) mais étant un débutant d'access je ne sais pas
ou mettre cette formule

Merci d'avance pour votre aide

--
("|`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
(_Y_.)' ._ ) `._ `. ``-..-'
_..`--'_..-_/ /--'_.' ,'
(il),-'' (li),' ((!.-'



--
("|`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
(_Y_.)' ._ ) `._ `. ``-..-'
_..`--'_..-_/ /--'_.' ,'
(il),-'' (li),' ((!.-'





Avatar
alain
Bonjour,

J'utilise une approximation qui suffit le plus souvent:
(Ent (datejour-dateNaissance))/365,15 le ,15 pour les bisextiles
C'est trivial mais pratique ! et finalement pas très faux

Alain

"Jean-Claude" a écrit dans le message de
news:40791824$0$19481$
Elle n'est pas de moi mais de Pierre ou Raymon ou..enfin un des cracs...
Moi

je n'en suis pas capable..enfin je suis capable de l'utiliser :-)

"Jacquouille Le Gaulois" a écrit dans le
message

de news:
Merci Jean Claude c'est tous à fait ce que je cherchais ;-)



QUESTION :

Comment calculer un âge en années et mois par rapport à une date de
naissance
dans Microsoft Access ?

REPONSE :

Créez un module et ajoutez les lignes suivantes :

Option Explicit

Function Age (var As Variant)
Dim varAge As Variant

If IsNull(var) Then Age = 0: Exit Function

varAge = DateDiff("yyyy", var, Now)
If Date < DateSerial(Year(Now), Month(var), Day(var)) Then
varAge = varAge - 1
End If
Age = varAge
End Function

Function AgeMonths (ByVal StartDate As String)
Dim tAge As Double
tAge = (DateDiff("m", StartDate, Now))
If (DatePart("d", StartDate) > DatePart("d", Now)) Then
tAge = tAge - 1
End If

If tAge < 0 Then
tAge = tAge + 1
End If

AgeMonths = tAge Mod 12

End Function


Afin d'afficher le résultat, tapez la formule suivante dans la
propriété



Source
contrôle d'un contrôle de formulaire (nom de champ correspond au champ
où est stockée la date de naissance) :

=Age([nom de champ]) & " ans et " & AgeMonths([nom de champ]) & "
mois"




Si tu ne veux pas les mois passe la fonction AgeMonths


"Jacquouille Le Gaulois" a écrit dans le
message


de news:
Bonjour à tous,

Je veux calculer l'age d'un personne automatiquement après avoir
entré




sa date de naissance
J'ai cherché sur Google et j'ai trouvé cette formule
AgeÚteDiff(";"yyyy";",[Bdate],Now())+Int( Format(now(),";"mmdd";")
<




Format( [Bdate], ";") ) mais étant un débutant d'access je ne sais
pas




ou mettre cette formule

Merci d'avance pour votre aide

--
("|`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
(_Y_.)' ._ ) `._ `. ``-..-'
_..`--'_..-_/ /--'_.' ,'
(il),-'' (li),' ((!.-'



--
("|`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
(_Y_.)' ._ ) `._ `. ``-..-'
_..`--'_..-_/ /--'_.' ,'
(il),-'' (li),' ((!.-'









Avatar
Anor
Bonjour

alain wrote:
| Bonjour,
|
| J'utilise une approximation qui suffit le plus souvent:
| (Ent (datejour-dateNaissance))/365,15 le ,15 pour les bisextiles
| C'est trivial mais pratique ! et finalement pas très faux
|
| Alain

ton ,15 me gênait un peu, mais après vérification, tu as effectivement raison :

4382 jours entre le 01/01/2000 (année bissextile)
et le 31/12/2011 dernière année non bissextile d'un cycle de 4 ans
donne 365.167

Maintenant, pour obtenir un âge qui change le jour de l'anniversaire,
on peut faire une petite fonction :
Function Age(DateNaissance As Date) As Integer
Age = DateDiff("yyyy", DateNaissance, Date) _
+ (Format(Date, "mmdd") < Format(DateNaissance, "mmdd"))
End Function

--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation : http://users.skynet.be/mpfa/
Access Memorandum : http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------