Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Compter le nombre d'années bissextiles entre 2 dates

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 :
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
mais ça me renvoie toujours le nombre d'années entre les 2 dates.
Merci pour tout coup de main.
 

Regueiro

XLDnaute Impliqué
Re : Compter le nombre d'années bissextiles entre 2 dates

Re R@chid

C'est juste j'ai mal compris la question.

Voilà un code identique au tien

Code:
=SOMMEPROD(N(MOIS(DATE(LIGNE(INDIRECT(ANNEE(B119)&":"&ANNEE(C119)));2;29))=2))&" Ans"

MErci

Bonne soirée
 

Regueiro

XLDnaute Impliqué
Re : Compter le nombre d'années bissextiles entre 2 dates

Bonsoir à Tous
Magic Doctor

Je reviens sur le problème des années Bissextiles.


Il suffira de créer une fonction avec ??
Je regarde demain.
A+
 

Discussions similaires

Réponses
9
Affichages
554
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…