Nombre d'année bissextile

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dhiouf

XLDnaute Occasionnel
Bonjour a tous!

Y a t-il un code VBA qui permet de savoir combien d’année bissextile entre deux date ?

Exemple
Entre le 27/11/1993 et le 26/09/2011 il y a 4 année bissextile (1996,2000,2004,2008)

Merci d’avance.
 
Re : Nombre d'année bissextile

Bonjour dhiouf,

Peut-être, si date de début en A1 et date de fin en B1

Code:
=SOMMEPROD((MOIS(LIGNE(INDIRECT(A1&":"&B1)))=2)*(JOUR(LIGNE(INDIRECT(A1&":"&B1)))=29))

Edit : Oups, tu voulais un code VBA...

Code:
Function NbAnBissex(DateDeb As Date, DateFin As Date) As Long
Dim AnDeb As Long, AnFin As Long, i As Long
    NbAnBissex = 0
    AnDeb = Year(DateDeb)
    AnFin = Year(DateFin)
    If Month(DateDeb) > 2 Then AnDeb = AnDeb + 1
    If DateFin <= DateSerial(AnFin, 2, 28) Then AnFin = AnFin - 1
    For i = AnDeb To AnFin
        If Month(DateSerial(i, 2, 29)) = 2 Then NbAnBissex = NbAnBissex + 1
    Next i
End Function
 
Dernière édition:
Re : Nombre d'année bissextile

Bonjour PierreJean 🙂,
Re,

Pour afficher le résultat d'une fonction dans une Msgbox, que ce soit celles de PierreJean ou la mienne, en admettant que tes dates sont en cellules A1 et B1 de la feuille active

Code:
Msgbox nb_bissex(Range("A1").value, Range("B1").value)
ou

Code:
Msgbox an_bissex(Range("A1").value, Range("B1").value)
ou

Code:
Msgbox NbAnBissex(Range("A1").value, Range("B1").value)
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
15
Affichages
793
  • Résolu(e)
Microsoft 365 DATEDIF
Réponses
11
Affichages
424
Réponses
4
Affichages
313
Retour