Compter le nombre de 29 février entre deux dates

Bonjour,

Comment afficher dans une cellule le nombre de 29 février entre deux dates ?

merci

Bonjour,
Il manque des détails.
Je pourrais vous répondre qu’il suffit que vous saisissiez ce que vous voulez pour qu’il s’affiche. :upside_down_face:

En attendant plus de détails ou un fichier.
Cordialement,
Miguel Pineau

merci.

Soit :
en A10 la dateX
en A11 la dateY
Comment faire pour que s’affiche en A12 le nombre de 29 février compris entre dateX et dateY ?

[Solutions selon que l’intervalle est ouvert ou fermé, aux deux extrémités ou seulement à l’une ou l’autre d’entre elles.]
merci

Et dateX / dateY, c’est quoi ?
Merci de fournir un exemple exploitable la prochaine fois.

dateX est une date
dateY est une date
La question est : combien de 29 février y a-t-il entre la dateX et la dateY ?

Exemple en A10 je saisis 04/07/2023 et en A11 je saisis 30/01/2015
en A12 il doit s’afficher 2 car 2016 et 2020 sont bissextiles et les 29 février de ces années sont compris entre le 30/01/2015 et le 04/07/2023.
Si les dates étaient 04/07/2023 et 31/01/2016 A12 devrait afficher 2
car entre ces deux dates il y a le 29/02/2016 et le 29/02/2020
Si les dates étaient 04/07/2023 et 05/03/2016 A12 devrait afficher 1
car entre ces deux dates il n’y a que le 29/02/2020

Je vous ai fait une capture pour vous montrer une formule en ce sens.
L’avez-vous vu ?

Oui, merci. C’est très intéressant.

Mais la formule (sauf erreur) ne donne pas chez moi le même résultat que chez vous.

La manipulation des dates est quelque chose de très sensible.

219 semble être la bonne réponse.
Je ne comprends pas pourquoi j’obtiens 226 ?
Pour_valioud.ods (62.5 KB)

Bonjour nmrk.n,

R1

essayez en A12 la formule suivante (qui ne fonctionne correctement que si les dates sont similaires, à l’exception des années) :

=MOD(A11-A10;365)

:wink:

R2 5 juillet 2023 16:32

testez la formule suivante:

=MOD(DATE(ANNEE(MAX(A10:A11))+1;1;1)-DATE(ANNEE(MIN(A10:A11));1;1);365)-SOMME(SI(MIN(A10:A11)*1>DATE(ANNEE(MIN(A10:A11));1;1+59)*1;1;0);SI(MAX(A10:A11)*1<DATE(ANNEE(MAX(A10:A11));1;1+59)*1;1;0))

Dans la quelle on peut s’affranchir des MAX(A10:A11) et MIN(A10:A11) à condition de savoir où trouver la date de début et de fin de période

merci, je vais étudier cela.

En fait, ce n’est pas ce que je recherche.

Il faut que cela fonctionne quelles que soient les dates.

merci

Je crois comprendre que tu cherches à déterminer si la date entre l’intervalle comprend une date où l’année est bissextile.
Il faut utiliser la fonction :slight_smile:

=estbissextile(datex)
Si je suis mon hypothèse la formule serait :
=Si(et(A11>A10; estbissextile(A11));“29 février”;"")

Il semble qu’il y ait une erreur dans la formule mais la présence de “et” en minuscules semble indiquer que vous n’ayez pas été au bout de la manip.

Par ailleurs, le résultat de la formule est soit “29 février”, soit rien (cellule vide),

ce qui ne répond pas à la question, le résultat attendu étant un nombre, en l’occurrence le nombre de 29 février existants entre les deux dates.

merci

Vous avez donné de vrais détails à 9:31 une heure après mon post qui était le 4 juillet 08:36
Je laisse @valioud continuer à résoudre votre question.

Bonjour,
Un exemple inspiré d’une solution trouvée sur internet pour excel.
J’ai décortiqué les calculs pour que ce soit plus compréhensible.
Cela dit, je fais toujours cela avant de “pondre” une formule hyper complexe que tout le monde y compris le rédacteur met trois ans à comprendre et/ou à corriger. Aprés, si on ne veut pas de colonnes intermédiaires (cachés ou pas), après avoir imbriqué mes différents calculs, je garde précieusement les étapes soit dans une autre feuille , soit dans un autre classeur.
Par contre le problème du “entre” est de savoir si c’est bornes comprises ou pas. A toi de voir et surtout de vérifier qu’il n’y a pas de bug dans mon raisonnement.
Bon courage
Claude
compter nbre 29 fevrier.ods (16.4 KB)

Bonjour ,
J’ai trouvé cette solution ici .La formule serait :=ARRONDI.INF((A2-DATE(ARRONDI.SUP(ANNEE(B2)/4;0)4;2;29)+1)/(3653+366);0)+SI(A2>DATE(ARRONDI.SUP(ANNEE(B2)/4;0)*4;2;29);1;0) .Elle tient compte que par exemple,l’année 2100 n’est pas une année bissextile . La question n’était pas la même mais la réponse adoptée revient à compter le nombre de 29 février . Cette formule fonctionne sous calc .

Bonjour,
Je l’avais vu aussi mais elle ne fonctionne pas à tous les coups. Par exemple si on choisit du 28/02/1987 au 29/02/1988, elle renvoie 0 alors que 1988 est bissextile.
Claude

Alors cette formule également citée dans le lien devrait fonctionner : =SOMMEPROD(–((MOIS(LIGNE(INDIRECT(B2&":"&A2))))=2*(JOUR(LIGNE(INDIRECT(B2&":"&A2)))=29)))
Enfin,je l’ai testée pour quelques dates . :slightly_smiling_face:

Oui celle-là fonctionne mieux. Génial !
Claude

1 Like

Avec plaisir d’avoir participé :slightly_smiling_face:

Cette formule me renvoie Err:509 (Libre Office Calc 7.4.5.1 Mageia GNU/Linux)