Function IsLeapYear(ByVal vYear As Variant) As Boolean
If VarType(vYear) = vbDate Then
If DateDiff("d", CDate("01/01/" & DatePart("YYYY", vYear)), _
CDate("31/12/" & DatePart("YYYY", vYear))) = 365 Then IsLeapYear = True
ElseIf IsNumeric(vYear) Then
If DateDiff("d", CDate("01/01/" & vYear), _
CDate("31/12/" & vYear)) = 365 Then IsLeapYear = True
End If
End Function
Sub Exemple_Utilisation()
MsgBox IsLeapYear(2004) ' retourne vrai
MsgBox IsLeapYear(Date) ' retourne faux
End Sub