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:

Discussions similaires

Réponses
12
Affichages
714

Statistiques des forums

Discussions
312 502
Messages
2 089 049
Membres
104 012
dernier inscrit
baffyt2