Les Snippets

Connexion

Jours fériés et dimanche

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 05/04/2007 14:30:28 et initié par Yogly [Liste]
Date de mise à jour : 24/03/2009 16:51:47
Vue : 17162
Catégorie(s) : Date & Heure
Langages dispo pour ce code :
- Windev
- VB6, VBA



Langage : Windev
Date ajout : 05/04/2007
Posté par Yogly [Liste]
DateMAJ : 07/04/2007

// 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

Langage : VB6 , VBA
Date ajout : 19/05/2008
Posté par Renfield [Liste]
DateMAJ : 24/03/2009
Public Function IsHoliday(ByVal vdInput As Date) As Boolean Dim nDelta As Long   If Weekday(vdInput, vbMonday) >= 6 Then       IsHoliday = True '# Ici, on considère que Samedi et Dimanche sont des jours non ouvrés...   ElseIf InStr(1, "01/01 01/05 08/05 14/07 15/08 01/11 11/11 25/12", Format$(vdInput, "DD\/MM")) Then       IsHoliday = True   Else        nDelta = DateDiff("D", Easter(Year(vdInput)), vdInput)        IsHoliday = (nDelta = 0 Or _                     nDelta = 1 Or _                     nDelta = 39 Or _                     nDelta = 49 Or _                     nDelta = 50)   End If End Function

Public Property Get Easter(ByVal vnYear As Integer) As Date Dim nE As Integer Dim nH As Integer Dim nK As Integer Dim nP As Integer Dim nQ As Integer Dim nI As Integer Dim nJ As Integer Dim nGolden As Integer Dim nCentury As Integer Dim nCenturyQ As Integer    nGolden = vnYear Mod 19    nCentury = vnYear \ 100    nCenturyQ = nCentury \ 4    nE = (8 * nCentury + 13) \ 25    nH = (19 * nGolden + nCentury - nCenturyQ - nE + 15) Mod 30    nK = nH \ 28    nP = 29 \ (nH + 1)    nQ = (21 - nGolden) \ 11    nI = (nK * nP * nQ - 1) * nK + nH    nJ = ((vnYear \ 4 + vnYear) + nI + 2 + nCenturyQ - nCentury) Mod 7    nJ = 28 + nI - nJ        If nJ <= 31 Then        Easter = DateSerial(vnYear, 3, nJ)    Else        Easter = DateSerial(vnYear, 4, nJ - 31)    End If End Property
Remarque :
Ici, on considère que Samedi et Dimanche sont des jours non ouvrés...
a vous d'adapter comme vous le souhaiterez

a voir aussi:
http://www.codyx.org/snippet_calcul-nombre-jours-ouvres-entre-deux-dates_602.aspx
et
http://www.codyx.org/snippet_trouver-prochain-jour-ouvrable-partir-date-selon-delta_183.aspx

Ajouter:

Or nDelta = -2

Pour ajouter le vendredi saint



Snippets en rapport avec : Jours, Fériés, Windev



Codes sources en rapport avec : Jours, Fériés, Windev

{PHP} CALCUL SIMPLE DU NOMBRE DE JOURS OUVRÉS ENTRE DEUX DATES (JOURS FÉRIÉS INTÉGRÉS)
Cette fonction permet de calculer le nombre de jours ouvrés entre deux dates, week-end et jours féri...

{PHP} JOURS OUVRES
Bon, une petite fonction toute simple, mais qui peut être un life saver! Trouve le prochain jour ou...

{Javascript / DHTML} NOMBRE DE JOURS, MOIS ET ANNÉES DEPUIS LA NAISSANCE
D'après la date d'anniversaire, le script compte le nombre d'années, de mois et de jours qui se sont...

{Javascript / DHTML} OBTENIR LE NOMBRE DE JOURS D'UN MOIS SUIVANT SON ANNÉE
Ce script permet à travers une fonction prenant comme argument le numéro du mois dont on veut savoir...

{PHP} DIFFÉRENCE ENTRE DEUX DATE EN JOURS (LISTE RÉCUPÉRÉE DANS UN TABLEAU)
Salut J'ai cherché une fonction permettant de récupérer une liste de date entre deux dates donnée...

{PHP} CALENDRIER + AGENDA TRÈS SIMPLE (GERER LES JOURS FÉRIÉS ET LES JOURS SPÉCIAUX)
Salut, Voici un script très simple d'une agenda en ligne , au quelle on peut gérer les jours fériée...

{Flash} HORLOGE SANS OBJET NEW DATE !
Alors voilà, le principe est simple: un écran de réglage de l'heure et du jour, puis une horloge à a...

{PHP} COMPTEUR DE JOURS RESTANTS DANS LE TOPIC D'UN CHANNEL IRC (À ÉXÉCUTER AVEC CRON)
Ce script met à jour le topic d'un chan IRC à chaque appel. Il permet de gérer la maj d'un compte à ...

{Javascript / DHTML} CALENDRIER
code pour créer un calendrier...

{PHP} NOMBRE DE JOURS ENTRE DEUX TIMESTAMP
Retourne le nombre de jours entre deux timestamp sans faire simplement la difference des timestamp, ...