Nombre d'années bissextiles entre deux dates

Bonjour,

J'aimerais trouver un calcul qui me permettrait de connaître le nombre d'année bissextile entre deux dates :

A1 : 14/04/2020

B2 : 31/12/2017

Résultat : 1

Car il y a le 29/02/2020

J'en ai besoin pour l'incorporer dans une formule. La date de référence sera toujours le 31/12/2017.

Je dois trouver le résultat pour 10 000 lignes...

Merci pour votre aide

Bonjour

Teste cette formule pour ton exemple

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

Bonjour,

Je te propose la formule qui se trouve dans ce fichier:

110annee-bisextille.xlsx (12.48 Ko)

Le principe est tout simple, je calcule la date du premier 29 février que je trouve à partir de la date de départ, donc ici 31/12/2017, les années bisextilles sont multiples de 4, donc la plus proche est 2020, donc le 29/02/2020, ensuite je regarde juste combien de fois j'ai 1461 jours entre cette date et ma seconde date (nombre de jours qui séparent deux 29/02), et tu as ensuite le résultat, je vois qu'un autre membre vient de proposer une formule ( ), il suit la même logique je crois

Bonjour le forum,

=SOMMEPROD(N(JOUR(DATE(LIGNE(INDIRECT(ANNEE(A1)&":"&ANNEE(B2)));3;0))=29))

Bonjour à tous,

tu dois aller jusqu'à quelle année ?

Savoir s'il faut tenir compte que 2100 n'est pas bissextile.

eric

Bonjour à tous,

tu dois aller jusqu'à quelle année ?

Savoir s'il faut tenir compte que 2100 n'est pas bissextile.

eric

Bonjour eriiic, comment ça se fait qu'elle ne soit pas bisextille?

Merci à tous pour votre aide.

J'ai utilisé la proposition de Ausecour est ça fonctionne.

Sinon eriiic, pour répondre à ta question : oui je dois aller au delà de 2100.

A+

comment ça se fait qu'elle ne soit pas bisextille?

Parce que tous les 4 ans, ça corrige la dérive des équinoxes, mais un peu trop.

Donc une année est bissextile si divisible par 4, mais pour les siècles ils doivent être divisibles par 400.

2000 était bissextile, 2100, 2200, 2300 ne le seront pas, 2400 le sera, etc.

eric

Edit : je pensais que la formule de mbbp en tenait compte mais elle présente un défaut : elle ne tient compte que de l'année, sans regarder si le 29/03 est passé ou pas.

Du 01/02/2004 au 15/02/2004 par exemple elle annonce 1. Enfin, tout dépend comment on interprète la demande.

Une correction :

=SOMMEPROD(--((MOIS(LIGNE(INDIRECT(B2&":"&A2))))=2*(JOUR(LIGNE(INDIRECT(B2&":"&A2)))=29)))

tu ne pourras aller que jusqu'au 25/11/4770

Ah d'accord, je ne savais pas! Merci pour l'info

Dans ce cas j'a iessayé de modifier encore ma formule pour donner quelque chose de bon, tu testeras tout ça pour voir si c'est ok?

on trouve pareil.

Si c'est faux, on a faux tous les deux

Bonjour tout le monde

Ne vous fatiguez pas, M12 avait donné la réponse 6 mn après la demande !

Bonjour,

Ah oui

D'autant plus que le demandeur se désintéresse complètement de son sujet...

eric

Ah mince, au moins j'aurai appris que l'année 2100 ne sera pas bissextile

Bonjour à tous

Voici une fonction qui renvoie un boolean (vrai si année bissextile)

avec une procédure de test

Function Bissextile(ANNEE As Integer) As Boolean
    If (ANNEE Mod 100 = 0 And Int(ANNEE / 100) Mod 4 = 0) Or (ANNEE Mod 4 = 0 And ANNEE Mod 100 <> 0) Then
        'année bissextile
        Bissextile = True
    Else
        Bissextile = False
    End If
End Function

Sub TEST()
    Dim D1 As Date
    Dim D2 As Date
    Dim i As Integer
    Dim NbBi As Integer
    NbBi = 0
    D1 = "31/12/2017"
    D2 = "14/04/2020"
    For i = Year(D1) To Year(D2)
        If Bissextile(i) Then
            NbBi = NbBi + 1
        End If
    Next i

    MsgBox "Nombre d'années bissextiles = " & NbBi
End Sub

Cordialement

Ah mince, au moins j'aurai appris que l'année 2100 ne sera pas bissextile

Mais 2400 le sera ...

365,2422 jours sont nécessaires au cycle terrestre. Plus exactement 365,2421898 jours (soit environ 365 jours 5 h 48 min 45,198 s).

Le calendrier grégorien a permis de rattraper le retard en supprimant des jours liés au rythme du calendrier Julien (le jeudi 4 octobre 1582 a été suivi par le vendredi 15 octobre 1582), et de ralentir le rythme en supprimant 3 années bissextiles tous les 400 ans.

Ce calendrier grégorien offre donc une année moyenne de 365,2425 jours, mis c'est encore trop et il faudra un jour corriger cela ! Les années multiples de 2000 devraient ne pas être bissextiles (mais elle l'a été), celles de 4000 le devraient, etc.

bissextile

Bonjour,

et il faudra un jour corriger cela ! Les années multiples de 2000 devraient ne pas être bissextiles

Cette correction a lieu au fil de l'eau, en corrigeant d'une seconde lorsque que c'est nécessaire.

eric

Vous en savez des choses!

Ah tu peux nous demander l'heure, on te répondra

Bon, si je comprends bien, je vais devoir apporter une correction dans mon code un peu avant l'an....... 4000

Ok, je note ça sur mon agenda !

Non, dans ton testament !

Rechercher des sujets similaires à "nombre annees bissextiles entre deux dates"