Calculer l’âge

Access ne comporte pas de fonction permettant de calculer l’âge d’une personne ou d’une chose à partir d’une date donnée. Cette rubrique contient le code Visual Basic pour Applications (VBA) de deux fonctions personnalisées, Age (Âge) et AgeMonths (MoisÂge), qui calculent l’âge à partir d’une date donnée.

La fonction suivante calcule l'âge à partir d'une date donnée jusqu'à la date d'aujourd'hui.

 Function Age (varBirthDate As Variant) As Integer 
 Dim varAge As Variant 
 
 If IsNull(varBirthdate) then Age = 0: Exit Function 
 
 varAge = DateDiff("yyyy", varBirthDate, Now) 
 If Date < DateSerial(Year(Now), Month(varBirthDate), _ 
 Day(varBirthDate)) Then 
 varAge = varAge - 1 
 End If 
 Age = CInt(varAge) 
 End Function

La fonction suivante calcule le nombre de mois qui se sont écoulés depuis le dernier mois indiqué par la date donnée. Si cette date est un anniversaire, la fonction renvoie le nombre de mois depuis le dernier anniversaire.

 Function AgeMonths(ByVal StartDate As String) As Integer 
 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 = CInt(tAge Mod 12) 
 
 End Function

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.