Voici un calcul de l'age en fonction de 2 dates. Il est cour et donne le nombre d'années, de mois et de jours.
Source / Exemple :
Public Function Age(D1 As Date, D2 As Date) As String
Dim Annees As Long, Mois As Long, Jours As Long, DecalMois As Long ', Borne As Long
On Error GoTo Erreur:
If D1 > D2 Then
Age = "Dates invalides."
Exit Function
End If
DecalMois = IIf(Day(D2) < Day(D1), 1, 0)
Annees = Year(D2) - Year(D1) - _
Switch(Month(D2) < Month(D1), 1, _
Month(D2) = Month(D1), DecalMois, _
True, 0)
Mois = (Month(D2) - Month(D1) - DecalMois + 12) Mod 12
Jours = Day(D2) - Day(D1) + _
DecalMois * Day(DateSerial(Year(D2), Month(D2), 1) - 1)
Age = Trim(IIf(Annees > 0, Annees & " Année" & IIf(Annees > 1, "s", "") & " ", "") & _
IIf(Mois > 0, Mois & " Mois ", "") & _
IIf((Jours > 0) Or (Annees + Mois = 0), Jours & " Jour" & IIf(Jours > 1, "s", ""), "")) & "."
Exit Function
Erreur:
Age = "Calcul impossible !"
End Function
Conclusion :
Bonne prog.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.