Re : aide à la lecture de formule ?
Bon, alors je continue.
On a vu que la fonction JOURSEM avec le paramètre 3 renvoyait un chiffre compris entre 0 et 6 (0=lundi, 1=mardi, ..., 6=dimanche).
JOURSEM(x;3) où "x" est une date quelconque, donne donc toujours comme résultat un chiffre compris entre 0 et 6 qui correspond au jour (lundi, mardi, etc.) de la date en question.
On va maintenant étudier ce que nous renvoit comme résultat la formule
x-JOURSEM(x;3) où "x" est une date quelconque.
Si le jour de la date "x" est un lundi alors JOURSEM(x;3) renvoit la valeur 0 (zéro) et donc on rentranche 0 (zéro) à la date "x", ce qui nous fait biensûr tomber toujours sur cette même date "x", qui est donc un lundi.
Si le jour de la date "x" est un mardi alors JOURSEM(x;3) renvoit la valeur 1 et donc on rentranche 1 à la date "x", ce qui nous fait tomber la veille de la date "x" donc le lundi de la même semaine.
Si le jour de la date "x" est un mercredi alors JOURSEM(x;3) renvoit la valeur 2 et donc on rentranche 2 à la date "x", ce qui nous fait tomber l'avant-veille de la date "x" donc le lundi.
Ainsi de suite jusqu'au dernier cas possible :
Si le jour de la date "x" est un dimanche alors JOURSEM(x;3) renvoit la valeur 6 et donc on rentranche 6 à la date "x", ce qui nous fait donc tomber... le lundi.
On voit donc que quelque soit la date "x" utilisée, avec cette formule
x-JOURSEM(x;3) où "x" est la date voulue, on retombe toujours sur le lundi de la même semaine que la date "x" utilisée.
En concidérant que la semaine commence le lundi, on sait donc maintenant calculer la date du premier jour de la semaine d'une date quelconque.
La formule
DATE(ANNEE(AUJOURDHUI());1;4)-JOURSEM(DATE(ANNEE(AUJOURDHUI());1;4);3) est bien du format x-JOURSEM(x;3) et renvoit donc la date du lundi (premier jour de la semaine) de la même semaine que la date "x" en question.
Vu que la date utilisée est ici le 4 janvier, on va donc systématiquement obtenir la date du premier jour de la semaine du 4 janvier.