Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Calcul eb VBA de l'age en années, mois et jours

3 réponses
Avatar
jbenchetrit
Bonjour,

Je recherche une fonction VBA capable de calculer à partir d'une date de
naissance et de la date du jour l'age de la personne en nombre d'années, de
mois et de jours.
DateDiff me permet d'obtenir l'année, j'arrive à calculer le mois mais je
cale pour le nombre de jours .
Merci de votre aide.

Jacky

3 réponses

Avatar
brainburnt
Bonjour bonjour,

Va voir ici, tu trouveras peut-être ton bonheur

http://access.developpez.com/faq/?pagetes


jbenchetrit wrote:
Bonjour,

Je recherche une fonction VBA capable de calculer à partir d'une date de
naissance et de la date du jour l'age de la personne en nombre d'années , de
mois et de jours.
DateDiff me permet d'obtenir l'année, j'arrive à calculer le mois mai s je
cale pour le nombre de jours .
Merci de votre aide.

Jacky


Avatar
Brubru
Bonjour,

Voilà un bout de code qui devrait faire ton bonheur !
-----------------------------------------------------
Public Function CalcAge(vDate1 As Date, vdate2 As Date, vRet As Integer)
' Comments : Calculer l'age d'une personne
' Paramètres:
' vDate1 - Date de Fête
' vDate2 - Date de comparaison
' vRet - 1 Année
' 2 Année , Mois
' 3 Année, Mois, Jour
Dim vMonths As Integer
Dim vDays As Integer
Dim vYears As Integer

vMonths = DateDiff("m", vDate1, vdate2)
vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
If vDays < 0 Then
vMonths = vMonths - 1
vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
End If
vYears = vMonths 12
vMonths = vMonths Mod 12
Select Case vRet
Case 1
CalcAge = vYears & " ans."
Case 2
CalcAge = vYears & " ans, " & vMonths & " mois."
Case 3
CalcAge = vYears & " ans, " & vMonths & " mois, " & vDays & "
Jours."
End Select
End Function
--------------------------------------------------------------------
--
BruBru
"Je pense que la demande mondiale en ordinateurs n'excèdera pas cinq
machines."
Thomas Watson, fondateur d'IBM (1943)
Avatar
jbenchetrit
MERCI
Le bout de code me convient parfaitement. C'est parfait.

Jacky
================================ "Brubru" a écrit dans le message de news:
44cf45e8$
Bonjour,

Voilà un bout de code qui devrait faire ton bonheur !
-----------------------------------------------------
Public Function CalcAge(vDate1 As Date, vdate2 As Date, vRet As Integer)
' Comments : Calculer l'age d'une personne
' Paramètres:
' vDate1 - Date de Fête
' vDate2 - Date de comparaison
' vRet - 1 Année
' 2 Année , Mois
' 3 Année, Mois, Jour
Dim vMonths As Integer
Dim vDays As Integer
Dim vYears As Integer

vMonths = DateDiff("m", vDate1, vdate2)
vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
If vDays < 0 Then
vMonths = vMonths - 1
vDays = DateDiff("d", DateAdd("m", vMonths, vDate1), vdate2)
End If
vYears = vMonths 12
vMonths = vMonths Mod 12
Select Case vRet
Case 1
CalcAge = vYears & " ans."
Case 2
CalcAge = vYears & " ans, " & vMonths & " mois."
Case 3
CalcAge = vYears & " ans, " & vMonths & " mois, " & vDays & "
Jours."
End Select
End Function
--------------------------------------------------------------------
--
BruBru
"Je pense que la demande mondiale en ordinateurs n'excèdera pas cinq
machines."
Thomas Watson, fondateur d'IBM (1943)