Calcule Age en VBA

Bonjour

je suis debutant en vba

aide moi pour calcule age en vba

merci

Bonjour,

Sais-tu calculer un âge dans une feuille de calcul?

Dans l'affirmative, joins un fichier que l'on voir les données d'entrées et le résultat escompté.

Dans la négative, idem.

dlt.

bonjour

je vais essayé avec datedif ca marche bien

mais en vba je ne sais pas

merci de votre aide

31age.xlsx (11.21 Ko)

Bonjour

je vais essayer mais ça marche pas en vba

merci de votre aide

25age-v001.xlsx (13.88 Ko)

Bonjour

je trouve une solution mais pas satisfait (ans ou an et jours ou jour )

Function AGE(Date1 As Date, Date2 As Date) As String
    Dim Y As Integer
    Dim M As Integer
    Dim D As Integer
    Dim Temp1 As Date
    Temp1 = DateSerial(Year(Date2), Month(Date1), Day(Date1))
    Y = Year(Date2) - Year(Date1) + (Temp1 > Date2)
    M = Month(Date2) - Month(Date1) - (12 * (Temp1 > Date2))
    D = Day(Date2) - Day(Date1)
    If D < 0 Then
        M = M - 1
        D = Day(DateSerial(Year(Date2), Month(Date2) + 1, 0)) + D + 1
    End If
    AGE = Y & " an(s) " & M & " mois " & D & " jour(s)"
End Function

Aide moi svp

Bonjour,

Option Explicit
Function AGE(Date1 As Date, Date2 As Date) As String
'Laurent Longre
Dim Elt As Long, D1 As Long, D2 As Long
    D1 = Int(Date1): D2 = Int(Date2)
    Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
    AGE = Elt & IIf(Elt > 1, " ans, ", " an,") & _
          Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym""") & " mois, "
    Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md""")
    AGE = AGE & Elt & IIf(Elt > 1, " jours", " jour")
End Function
37age-v001.xlsm (18.32 Ko)

bonjour

ça marche très bien

mais j'ai une question

- quand la différence de deux date égaux n'affiche rien " "

c a d : en 0jour n'affiche rien " "

et en 0mois n'affiche rien " "

et en 0an n'affiche rien " "

exp:

D1=22/06/1978 et D2=22/09/2014 Résultat = 36 ans, 3 mois, 0 jour

tu peux me donne le résultat comme suit : 36 ans, 3 mois

mm chose pour les 'années et mois

merci de votre aide

Bonjour,

Option Explicit
Public Function AGE(Date1 As Date, Date2 As Date) As String
Dim D1 As Long, D2 As Long
Dim Elt As Long
Dim x As String, y As String, z As String

    D1 = Int(Date1): D2 = Int(Date2)
    If D2 < D1 Then
        AGE = "Date invalide"
        Exit Function
    End If

    Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""y""")
    If Elt > 0 Then x = Elt & IIf(Elt > 1, " ans, ", " an, ")

    Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""ym""")
    If Elt > 0 Then y = Elt & " mois, "

    Elt = Evaluate("DATEDIF(" & D1 & "," & D2 & ",""md""")
    If Elt > 0 Then z = Elt & IIf(Elt > 1, " jours", " jour")

    AGE = x + y + z
    If Right(AGE, 2) = ", " Then AGE = Left(AGE, Len(AGE) - 2)

End Function

merci bien

extrat

Rechercher des sujets similaires à "calcule age vba"