Jours chômés

Comment savoir, à partir d’une date connue, si celle-ci correspond à un jour chômé (Pâques, Fête nationale, Toussaint, etc.) ?

La solution

Voici une fonction postée par DenisS, également contributeur sur les forums self-access.com. Elle gère les jours fériés fixes comme le jour de l’An, la Fête du Travail, l’Armistice 1945, le 14 Juillet, etc., ainsi que les jours fériés mobiles (calculés à partir de la date de Pâques).

Attention
Certains jours chômés se calculent à partir du jour de Pâques. C’est pourquoi cette fonction fait elle-même appel aux fonctions de calcul déjà publiées dans cet article. Pensez à recopier également les 2 fonctions de l’article pour que tout marche correctement !

Le code

Commencez par recopier ces constantes dans un module standard de votre base de données. En général, les constantes se placent en début du module (et dans notre cas : hors de tout bloc Sub / End Sub ou Function / End Function).

Recopiez également ce qui suit dans votre module standard :

Exemples

Quelques exemples tapés dans la fenêtre Exécution (CTRL + G) :

Quelques explications :

  • Les 2 premières instructions affichent la date du jour (j’ai rédigé cet article le 25/03/2009, qui tombe un mercredi).
  • JourChome(Now) donne Faux : effectivement, par défaut, un mercredi n’est pas chômé, et le 25/03/2009 n’est pas une date particulière.
  • JourChome(Now + 3) donne Vrai : dans 3 jours, on sera bien un samedi (considéré comme chômé par défaut).
  • JourChome(Now, jcMercredi + jcSamedi + jcDimanche) donne cette fois Vrai. On cherche les jours chômés en incluant le mercredi et le week-end.
  • Les 3 derniers exemples portent sur des dates fixes. Pour info, le 16/08/2009 tombe un dimanche.

Bien sûr, les dates peuvent être remplacées par des variables VB, ou des champs de table (selon le contexte).

Rappel
Les dates sont écrites ici au format anglo-saxon parce qu’on est dans Visual Basic Editor (et dans du code VB, d’une manière générale). Dans les requêtes, les formulaires et les états, vous taperiez des dates à la française… si vous êtes sur une machine française 🙂

Pour pouvez aussi consultez cet article, au cas où…

Vous aimerez aussi...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *