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

Formule pour définir l'existence des 29 février

  • Initiateur de la discussion Initiateur de la discussion marmotte18
  • Date de début Date de début

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 !

marmotte18

XLDnaute Impliqué
Bonjour,

Supposons qu'en A2, j'ai l'exercice (4 caractères à saisir). Le nom donné à cette cellule est également exercice.

Quelle formule (non VBA) faudrait-il mettre, pour définir l'existence ou la non existence du 29 février en fonction de l'exercice saisi ?

  • Si le 29 février n'existe pas, il faut ramener ""
  • Si le 29 février existe, il faut ramener la date complète (lundi 29 février 19.. ou 20..)
 
Re : Formule pour définir l'existence des 29 février

re,

Marmotte,

La formule proposée par Chris tout comme celle que je t'ai proposée, ne font qu'indiquer si l'année est bisextile ou non.

Pour répondre plus précisément à ta question de ton premier post, au choix :

=SI(ET(MOD(exercice;4)=0;OU(MOD(exercice;100)<>0;MOD(exercice;400)=0));("29/02/"&exercice)*1;"")

ou

=SI(JOUR(DATE(exercice;2;29))=29;("29/02/"&exercice)*1;"")

Cellule au format jjjj jj/mm/aaaa


Exercice étant un nombre à 4 chiffres.

@+
 
Re : Formule pour définir l'existence des 29 février

marmotte18 à dit:
Bonjour wilfried_42,

tu as dit :



Ta formule, qu'on la fasse précédé d'un signe "=" ou non, amène un code erreur ou un texte

desolé de te contredire, il n'y a aucun text, la formule sort 1 ou 0, c'est une formule de type bollean . 1 = vrai, 0 = Faux

fichier en exemple
 

Pièces jointes

Re : Formule pour définir l'existence des 29 février

Réponse à Tibo,

=SI(ET(MOD(exercice;4)=0;OU(MOD(exercice;100)<>0;M OD(exercice;400)=0));("29/02/"&exercice)*1;"")

n'amène pas le mercredi 29 février 1900 comme la formule suivante :

=SI(JOUR(DATE(Exercice;2;29))=29;DATE(Exercice;2;29);"")

Celle-ci me paraissait correcte mais j'ai des soucis avec elle :

Quand je tape exercice=1700, cela me ramène mardi 29 février 3600 alors que celle d'en haut ne me ramène rien.

J'ai la tête qui tourne ! Je ne sais pas en définitive qu'elle est la bonne formule !
 
Re : Formule pour définir l'existence des 29 février

Bonjour tout le monde,

Quelqu'un aurait-il un répertoire des années bissextiles ? j'en aurai besoin pour voir s'il existe une formule qui cadre bien avec.
 
Re : Formule pour définir l'existence des 29 février

rere,

Concernant l'année 1700, Excel ne sait pas gérer les années antérieures à 1900. D'où la réponse non cohérente qu'il te donne.

Finalement, la meilleure formule est celle de Chris, puis qu'elle teste l'année avant de donner une date.

Dans ma formule, je teste directement une date, avec dans ton exemple, une année dont Excel ne veut pas (ou ne sait pas traiter).

Je pense qu'on a fait le tour de la question.

Voilou

@+
 
Re : Formule pour définir l'existence des 29 février

Re,

Citation:
=SI(ET(MOD(exercice;4)=0;OU(MOD(exercice;100)<>0;M OD(exercice;400)=0));("29/02/"&exercice)*1;"")


n'amène pas le mercredi 29 février 1900
Inverse les conditions :

=SI(ET(MOD(exercice;4)=0;OU(MOD(exercice;100)<>0;M OD(exercice;400)=0));"";("29/02/"&exercice)*1)

A+

Edition : ne pas tenir compte de ce message : un zop de plus
 
Dernière édition:
Re : Formule pour définir l'existence des 29 février


comprends pas, Tibo dit 1900 ne l'etait pas et excel accepte 29/02/1900 😕
 
Re : Formule pour définir l'existence des 29 février

Salut Wilfried,

Décidément, ce fil s'allonge.

A vérifier, mais il me semble que le 29 février 1900 fait partie des bugs d'Excel

@+
 
Re : Formule pour définir l'existence des 29 février

re

etant du genre obstiné , jai fini par accoucher de

=SI(ESTERREUR(DATEVAL("29/02/"&A2));"";DATEVAL("29/02/"&A2))

inspiré des precedents

et merci pour le rappel (je ne me souvenais plus du modulo 400)
 
Re : Formule pour définir l'existence des 29 février

Re,

Lord Nelson avait recensé quelques erreurs ou omissions XL :

 
Re : Formule pour définir l'existence des 29 février

Bonjour tout le monde,

J'ai fait un fichier Excel de toutes les années depuis 1900 à 4529 et par des jeux de filtres automatiques, j'ai repéré les années bissextiles avec les règles fournies (divisible par 4, exception divisible par 100, exception de l'exception divisible par 400)

En définitive, mon choix pour la formule correcte est :

=SI(((MOD(Exercice;4)=0)*(MOD(Exercice;100)<>0)) + (MOD(Exercice;400)=0)=0;"";DATE(Exercice;2;29))

C'est la seule que j'ai repérée qui donne un résultat exact pour 1900 qui n'est pas une année bissextile

Encore une fois un grand merci pour votre participation et votre enthousiasme !
 
Re : Formule pour définir l'existence des 29 février

Bonjour,

Un peu plus court :
=SI((MOD(exercice;4)=0)*MOD(exercice;100)+(MOD(exercice;400)=0);("3/"&exercice)-1;"")

=("3/"&exercice)-1 renvoie la veille du 1er jour de mars
Idem :
=("1/3/"&exercice)-1
 
Re : Formule pour définir l'existence des 29 février

re: bonjour monique

il y a quand meme quelque chose qui me chagrinne, avec ce 29 fevrier 1900
qui n'existe pas sauf de excel.

les dates sont calculées en fontion du nombre de jours depuis le 01/01/1900 (en général)
si excel, de par son bug du 29/02/1900, decompte un jour de plusque le nombre reellement ecoulé, comment peut il maintenant trouver le joursem
ou bien joursem serait bugger aussi et en fonction des parametres on l'ajusterait à nos besoins
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…