Monsieur Excel
Pour tout savoir faire sur Excel !

10 janvier 2017

Le 1er lundi de la 3ème semaine

Dans l’article publié le 30 décembre, Une formule dure à comprendre, nous montrions comment interpréter une formule assez complexe dont l’objectif était d’afficher la date du lundi de la 3ème semaine d’une année donnée.

Il s’agissait presque d’une énigme, tant la formule proposée état rébarbative. Notre lecteur Benji a, dans un commentaire, montré comment alléger un peu cette formule, en gardant son esprit, puis comment la remplacer par une formule bien plus simple. Nous vous la commentons ci-dessous, car de nombreux lecteurs ne lisent pas les commentaires.


La formule, reproduite en C6, est =("1/"&B1)-MOD(("1/"&B1)-2;7)+B2*7.

("1/"&B1) donne "1/2017" : cela donne le texte entre guillemets si on le garde tout seul. Mais si on lui ajoute ou ôte une valeur, c’est converti dans la valeur de date du 1er janvier 2017.

MOD(("1/"&B1)-2;7) enlève 2, car c’est la valeur du lundi, comme on peut le vérifier avec joursem().

Remarque – Ce qui est intéressant, c’est que les trois formules donnaient bien le même résultat avec l’année 2017 mais, comme on le voit dans la copie d’écran, donnent un résultat différent en 2018 !

Après vérification, c'est la formule originale qui avait raison. Il ne vous reste plus qu'à voir comment corriger les deux formules de Benji...

PS – Veuillez m’excuser d’avoir fait une pause plus longue que d’habitude. Je suis à San Francisco depuis samedi dernier, et j’étais trop occupé. En outre, j’ai eu la « chance » d’avoir 5 jours de pluie d’affilée (sur 5) ce qui est tout à fait incroyable là où il n’y a en général que 15 jours de pluie par an ! Mais au moins les Californiens ne sont pas mécontents de voir les réserves d'eau se reconstituer...

2 Commentaire(s):

  • Bonjour à tous,

    Il me semble que le 1er janvier 2018 est un lundi.

    By Blogger Jacky Harlé, sur 9:05 PM  

  • Ce coup ci ça devrait être bon.
    on peut raccourcir d'un caractère !
    1E+9 au lieu de 1E+99, car les années sous Excel sont limité à l'année 9999. Soit 2.958.465

    =SOMME(MOD(("1/"&B1)-{0;6};{1E+9;7})*{1;-1})+B2*7-4

    Et encore désolé pour avoir mis des formules fausses en commentaires :(

    By Blogger Benji, sur 12:31 PM  

Enregistrer un commentaire

<< Accueil