Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Suites de jours de semaines précis
Pour des besoins d'organisation, pour la construction de
plannings et calendriers, il est utile de savoir créer rapidement des
suites logiques de dates. Logiques oui, mais avec des trous. On peut souhaiter représenter seulement les
jours de semaine. Dans ces conditions, les
jours de Week-End doivent être exclus de l'énumération. Inversement, on peut vouloir représenter seulement la
suite des jours de Week-End sur une période donnée. Toute
série de dates respectant une certaine logique peut facilement être construite avec
Excel. Et c'est ce que nous proposons de démontrer dans cette nouvelle
astuce.
Dans l'exemple illustré par la capture, nous créons très facilement deux
suites logiques de dates. La première énumère les jours travaillés avec une spécificité. Ce sont les
Dimanches et
Lundis qui sont considérés comme les
jours de Week-End. Et précisément, la seconde série énumère ces
jours de repos les uns à la suite des autres.
Source et procédure
Même si elle n'est pas forcément utile, une petite
feuille est proposée au téléchargement. Elle offre l'ébauche de la solution à construire.
Deux colonnes quadrillées sont proposées. La première concerne les
jours travaillés. L'énumération doit débuter à partir du
Mardi 2 Juin 2020 en excluant périodiquement les
Lundis et les
Dimanches. La seconde colonne concerne les jours de repos. Elle doit énumérer toutes les
dates des
Lundis et
Dimanches en excluant cycliquement tous les autres jours de la semaine.
Excel offre une
fonction tout à fait particulière pour créer des
suites logiques de dates personnalisées. Cette fonction se nomme
Serie.Jour.Ouvre.Intl. Elle attend trois renseignements. En premier argument, nous devons lui indiquer la
date de départ. Il s'agit de la
date à partir de laquelle doit débuter l'énumération. En deuxième argument, nous devons lui indiquer le pas de l'incrémentation (Par exemple 1 pour 1 journée de plus). En dernier argument, nous devons lui notifier les
jours à exclure de la liste. Il peut s'agir des
jours de Week-End par exemple. Mais nous allons le voir, une
astuce consiste à lui transmettre une suite de booléens codée sur 7 chiffres pour les
7 jours de la semaine. A ce titre, vous notez la présence d'une seconde
feuille dans ce
classeur.
- En bas de la fenêtre Excel, cliquer sur l'onglet Code pour activer sa feuille,
Vous notez la présence de deux exemples de codifications.
La seconde est faite pour construire la
suite des dates des jours travaillés en faisant sauter les
Samedis et
Dimanches. La première est justement faite pour ne produire que la
suite des dates de ces deux jours de repos. Chaque
jour est repéré par sa position dans l'énumérationen débutant à partir du
Lundi. Et comme l'indique la petite légende sur la droite, lorsqu'un chiffre 1 sanctionne une position, le jour concerné est ignoré. Il doit être sauté. Lorsqu'il s'agit d'un 0 en revanche, le jour doit être inclus. Vous l'avez compris, les combinaisons sont multiples. De fait, il est très simple de construire n'importe quelle
série logique de dates, adaptée à tout type de métier.
- En bas de la fenêtre Excel, cliquer sur l'onglet SeriesJours pour revenir sur sa feuille,
- Cliquer sur la cellule C5 pour la sélectionner,
- Taper le symbole égal (=) pour initier la syntaxe du calcul de la suite,
- Inscrire le nom de la fonction suivi d'une parenthèse, soit : Serie.Jour.Ouvre.Intl(,
- Cliquer sur la cellule C4 pour désigner la date de départ de la suite logique à construire,
- Taper un point-virgule (;) pour passer dans l'argument du pas de l'incrémentation,
A ce titre, vous comprenez donc qu'il est aussi possible de créer des
suites de dates qui sautent un jour sur deux ou un jour sur trois par exemple.
- Taper le chiffre 1 pour créer une suite linéaire classique,
- Taper un point-virgule (;) pour passer dans l'argument des jours à exclure,
- Entre guillemets, inscrire le code suivant : '1000001',
Grâce aux deux chiffres 1 judicieusement placés, nous excluons de l'énumération le
premier et de dernier jour de la semaine. Il s'agit donc des
Lundis et des
Dimanches.
- Fermer la parenthèse de la fonction Serie.Jour.Ouvre.Intl,
- Puis, valider le calcul par le raccourci clavier CTRL + Entrée,
De cette manière, la cellule du résultat reste sélectionnée. La première
date de la
suite est livrée. Il s'agit bien du
Mercredi 3 Juin consécutif au
Mardi 2 Juin.
- Cliquer et glisser la poignée du résultat à la verticale jusqu'en ligne 26,
Comme vous pouvez le voir, nous avons réussi à construire la
série logique de dates personnalisée avec grande simplicité. Seules les
dates des jours travaillés désignés sont énumérées dans un ordre logique :
=SERIE.JOUR.OUVRE.INTL(C4; 1; '1000001').
Désormais, pour énumérer toutes les
dates des Week-End, soit des jours de repos dans ce contexte particulier, le principe est le même. Il suffit d'adapter la codification en dernier argument de la
fonction Serie.Jour.Ouvre.Intl. En
cellule E5, il convient de construire la syntaxe suivante :
=SERIE.JOUR.OUVRE.INTL(E4; 1; '0111110')
Bien sûr après validation, cette
formule doit être répliquée sur les lignes du dessous.