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.
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
Bonjour bonjour,
Va voir ici, tu trouveras peut-être ton bonheur
http://access.developpez.com/faq/?page=dates
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.
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
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)
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)
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)
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)
MERCI
Le bout de code me convient parfaitement. C'est parfait.
Jacky
================================ "Brubru" <bruno.parey@rn.nospamsncf.fr> a écrit dans le message de news:
44cf45e8$1@news.sncf.fr...
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)
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)