// Résumé : renvoier Vrai si férier et faux si ouvrable
// Syntaxe :
//[ <Résultat> = ] Ferié ( [<Jour>])
//
// Paramètres :
// Jour : Jour a controler AAAAMMJJ
// Valeur de retour :
// booléen : // Aucune
//
// Exemple :
// Si Ferié(DateSys()) alors info("Nous somme une jours Ferié!")
//
PROCEDURE Ferié(Jour=DateSys())
JJ,MM,AA est un entier
Pa est un entier
JJ = Droite(Jour,2)
MM = Milieu(Jour,5,2)
AA = Gauche(Jour,4)
SI DateVersJour(Jour)=7 ALORS RENVOYER Vrai //Dimanche
SI JJ = 1 ET MM = 1 ALORS RENVOYER Vrai //1 Janvier
SI JJ = 1 ET MM = 5 ALORS RENVOYER Vrai //1 Mai
SI JJ = 8 ET MM = 5 ALORS RENVOYER Vrai //8 Mai
SI JJ = 14 ET MM = 7 ALORS RENVOYER Vrai //14 Juillet
SI JJ = 15 ET MM = 8 ALORS RENVOYER Vrai //15 Août
SI JJ = 1 ET MM = 11 ALORS RENVOYER Vrai //1 Novembre
SI JJ = 11 ET MM = 11 ALORS RENVOYER Vrai //11 Novembre
SI JJ = 25 ET MM = 12 ALORS RENVOYER Vrai //25 Décembre
Pa=DateVersEntier(Pâques(Gauche(Jour,4)))
SI Jour=EntierVersDate(Pa+1) ALORS RENVOYER Vrai //Lundi de Pâques
SI Jour=EntierVersDate(Pa+38) ALORS RENVOYER Vrai //Ascension
SI Jour=EntierVersDate(Pa+11) ALORS RENVOYER Vrai //Pentecote
RENVOYER Faux