Tous les jours fériés de l'année = jours fermés

bond

XLDnaute Occasionnel
Hypothèse, le 1er janvier est saisi en B5, et tous les jours suivants suivent automatiquement dans les colonnes de ligne 5.
Ma formule :
Code:
=OU(JOURSEM(B$5;2)=6;JOURSEM(B$5;2)=7;B$5=DATE(ANNEE($B$5);1;1);B$5=DATE(ANNEE($B$5);5;1);B$5=DATE(ANNEE($B$5);5;8);B$5=DATE(ANNEE($B$5);7;14);B$5=DATE(ANNEE($B$5);11;11);B$5=DATE(ANNEE($B$5);8;15);B$5=DATE(ANNEE($B$5);11;1);B$5=DATE(ANNEE($B$5);12;25);B$5=DATE(ANNEE($B$5);3;31)+25-MOD((11*MOD(ANNEE($B$5)-1900;19))-(ENT(((MOD(ANNEE($B$5)-1900;19)*7)+1)/19))+4;29)-MOD(ANNEE($B$5)-1900-MOD((11*MOD(ANNEE($B$5)-1900;19))-(ENT(((MOD(ANNEE($B$5)-1900;19)*7)+1)/19))+4;29)+ENT((ANNEE($B$5)-1900)/4)+31;7)+1;B$5=DATE(ANNEE($B$5);3;31)+25-MOD((11*MOD(ANNEE($B$5)-1900;19))-(ENT(((MOD(ANNEE($B$5)-1900;19)*7)+1)/19))+4;29)-MOD(ANNEE($B$5)-1900-MOD((11*MOD(ANNEE($B$5)-1900;19))-(ENT(((MOD(ANNEE($B$5)-1900;19)*7)+1)/19))+4;29)+ENT((ANNEE($B$5)-1900)/4)+31;7)+39;B$5=DATE(ANNEE($B$5);3;31)+25-MOD((11*MOD(ANNEE($B$5)-1900;19))-(ENT(((MOD(ANNEE($B$5)-1900;19)*7)+1)/19))+4;29)-MOD(ANNEE($B$5)-1900-MOD((11*MOD(ANNEE($B$5)-1900;19))-(ENT(((MOD(ANNEE($B$5)-1900;19)*7)+1)/19))+4;29)+ENT((ANNEE($B$5)-1900)/4)+31;7)+50)

Vu que c'est super sympa à lire, je détaille :
. Détection des WE :
Code:
=OU(JOURSEM(B$5;2)=6;JOURSEM(B$5;2)=7;
. Détection des JF fixes : 01/01, 01/05, 08/05, 14/07, 11/11, 15/08, 01/11, 25/12
Code:
B$5=DATE(ANNEE($B$5);1;1);B$5=DATE(ANNEE($B$5);5;1);B$5=DATE(ANNEE($B$5);5;8);B$5=DATE(ANNEE($B$5);7;14);B$5=DATE(ANNEE($B$5);11;11);B$5=DATE(ANNEE($B$5);8;15);B$5=DATE(ANNEE($B$5);11;1);B$5=DATE(ANNEE($B$5);12;25);
. Détection des JF mobiles (selon jour de Paques) :
Jour de Paques +1 = Lundi de Paques :
Code:
B$5=DATE(ANNEE($B$5);3;31)+25-MOD((11*MOD(ANNEE($B$5)-1900;19))-(ENT(((MOD(ANNEE($B$5)-1900;19)*7)+1)/19))+4;29)-MOD(ANNEE($B$5)-1900-MOD((11*MOD(ANNEE($B$5)-1900;19))-(ENT(((MOD(ANNEE($B$5)-1900;19)*7)+1)/19))+4;29)+ENT((ANNEE($B$5)-1900)/4)+31;7)+1;
Jour de Paques +39 = Ascension :
Code:
B$5=DATE(ANNEE($B$5);3;31)+25-MOD((11*MOD(ANNEE($B$5)-1900;19))-(ENT(((MOD(ANNEE($B$5)-1900;19)*7)+1)/19))+4;29)-MOD(ANNEE($B$5)-1900-MOD((11*MOD(ANNEE($B$5)-1900;19))-(ENT(((MOD(ANNEE($B$5)-1900;19)*7)+1)/19))+4;29)+ENT((ANNEE($B$5)-1900)/4)+31;7)+39;
Jour de Paques +50 = Pentecote :
Code:
B$5=DATE(ANNEE($B$5);3;31)+25-MOD((11*MOD(ANNEE($B$5)-1900;19))-(ENT(((MOD(ANNEE($B$5)-1900;19)*7)+1)/19))+4;29)-MOD(ANNEE($B$5)-1900-MOD((11*MOD(ANNEE($B$5)-1900;19))-(ENT(((MOD(ANNEE($B$5)-1900;19)*7)+1)/19))+4;29)+ENT((ANNEE($B$5)-1900)/4)+31;7)+50)

Je place cette formule en MFC sur plusieurs lignes en dessous de la ligne 5.
Mon fichier comporte d'autres onglets avec des formules et d'autres MFC.
Et, là mon ordi il est un peu en vrac:mad: en mémory sur mon fichier...

Je pense qu'une simplication de cette formule serait opportune, des suggestions ?
Merci d'avance.
 

kjin

XLDnaute Barbatruc
Re : Tous les jours fériés de l'année = jours fermés

Bonjour,
Le plus simple serait de créer une liste dans un coin de ton classeur et de faire référence à cette liste dans les cellules, il sera alors plus aisé d'appliquer des MFC
A+
kjin
 

Victor21

XLDnaute Barbatruc
Re : Tous les jours fériés de l'année = jours fermés

Bonjour, bond.

Les fériés dans une liste avec les formules ci-dessus (non vérifiées).
Une mise en forme conditionnelle des dates de l'année avec 2 conditions sur vos dates :
1° pas de doublon avec la liste,
2° WE

nb : bonjour, kjin qui m'a précédé.
:)
 
Dernière édition:

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
314 628
Messages
2 111 337
Membres
111 104
dernier inscrit
JEMADA