Magic_Doctor
XLDnaute Barbatruc
Bonsoir,
Je voudrais connaître le nombre d'années bissextiles entre 2 dates.
J'ai tenté au travers d'une fonction que j'ai rédigée :
mais ça me renvoie toujours le nombre d'années entre les 2 dates.
Merci pour tout coup de main.
Je voudrais connaître le nombre d'années bissextiles entre 2 dates.
J'ai tenté au travers d'une fonction que j'ai rédigée :
VB:
Function NbAnBissext(dat1 As Date, dat2 As Date) As Byte 'dans mon application je ne parcourerai pas plus de 50 années
'Compte le nombre d'années bissextiles entre 2 dates
Dim año1 As Integer, año2 As Integer, nba As Byte, i As Byte, nbab As Byte
año1 = Year(dat1): año2 = Year(dat2)
nba = año2 - año1
For i = 0 To nba - 1
If LeapYear(Year(dat1 + i)) Then nbab = nbab + 1
Next
NbAnBissext = nbab
End Function
----------------------------------------------------------------------
Function LeapYear(a%) As Boolean
'Vérifie si une année est bissextile ou pas (tient compte des années théoriquement bissextiles et qui ne le sont en fait pas, comme 1800/1900/2100...)
'- a : une année quelconque
'ROGER2327
LeapYear = ((a Mod 4) = 0) * (1 + ((a Mod 100) = 0) * (1 + (((a \ 100) Mod 4) = 0)))
End Function
Merci pour tout coup de main.