Savoir si un jour est ouvré avec Excel
par
, 27/10/2021 à 08h00 (1152 Affichages)
La fonction EST.JOUR.OUVRE n'existe pas, mais on peut facilement créer une formule pour pallier ce manque
Salut
- Pierre, est-ce que le 1er avril est férié?
- Pourquoi, tu veux savoir si la poissonnerie est ouverte?
- Gros malin... Non, je veux savoir si peux réserver un resto...
- Ah, tu m'invites? C'est quoi au menu?
Les versions actuelles d'Excel proposent NB.JOURS.OUVRES.INTL()... Oui, je sais, heureusement qu'il y a la saisie semi-automatique.
Cette fonction reçoit entre 2 et 4 arguments:
- Date de début;
- Date de fin;
- [régime hebdomadaire de travail];
- [Liste des jours fériés].
Les 3ième et 4ième arguments sont optionnels:
- si le 3ième est omis, la semaine ouvrée est considérée du lundi au vendredi;
- si le 4ième est omis, il n'y a pas de jours fériés, hors les jours éventuellement fériés renseignés par le 3ième argument.
La liste des jours fériés énumère simplement les jours fériés et sera bien entendue maintenue dans un tableau structuré. La particularité réside dans la spécification du régime hebdomadaire, qui peut prendre deux formes:
- une constante parmi les possibilités offertes;
- une chaine représentant les jours ouvrés et fériés de la semaine.
Les constantes permettent un choix relativement étriqué:
La chaine représentant les jours ouvrés et fériés permet par contre toutes les fantaisies. C'est une chaine de 7 chiffres binaires dans laquelle 0 représente un jour ouvré et 1 un jour férié, la série commençant le lundi:
- 0111111 veut dire que seul le lundi est ouvré;
- 0001011 veut dire qu'on ne travaille pas le jeudi, le samedi et le dimanche;
- ...
Du coup, si on veut savoir si un jour est ouvré ou pas en fonction d'un régime hebdomadaire précis, par exemple 0000011 pour dire que l'on travaille la semaine et pas le weekend, on peut compter le nombre de jours ouvrés entre la date de départ et la date d'arrivée, dates qui peuvent être une seule date...
Si je travaille en régime 4/5 et que le jeudi est mon jour de congé, je vais passer le paramètre "0001011" à la fonction, et le 1er avril va devenir férié... Chouette, je vais aller au resto
Simple, non?
A bientôt pour un nouveau billet