Monsieur Excel
Pour tout savoir faire sur Excel !

25 mars 2013

Le 1er samedi en début de mois

Une lectrice du blog m’a posé la question suivante : « Comment puis-je identifier le premier mois de l’année qui commence par un samedi ? »

Essayez donc de voir si vous trouvez la réponse avant de lire cet article…

Dans le tableau ci-dessous, nous avons entré une formule en D2, reproduite dans tout le rectangle. Cette formule est : =joursem(date(D$1;ligne()-1;1)).


Elle calcule, pour chaque mois de chaque année, le numéro (dans la semaine) du premier jour de ce mois. La fonction joursem() renvoie de 1 à 7 pour dimanche à samedi.

Nous avons mis en B1 une zone de validation par liste basée sur la référence =$D$1 :$L$1.

La solution en B2 utilise la formule =equiv(7;joursem(date(B1;ligne(1:12);1));0).

Cette formule est une formule matricielle, donc validée avec [Ctrl]-[Maj]- [Entrée].

La formule date(B1;ligne(1:12);1) est évaluée en {40909;40940;40969;41000;41030; 41061;41091;41122;41153;41183;41214;41244}. Elle donne les valeurs des dates du premier jour de chaque mois de l’année B1.

Rappelons que ces dates sont le nombre de jours écoulés depuis la naissance de la grand-mère de Bill Gates, cf. l’article  « La grand-mère de Bill Gates » du 14 décembre 2005.

La fonction equiv(7,…) trouve la position du premier jour de semaine en « 7 » dans cette liste, donc la position du premier mois de l’année démarrant par un samedi. CQFD…

Le tableau de D en L permet simplement de vérifier que l'on obtient bien le bon résultat pour chaque année de  2006 à 2014, en modifiant la valeur de B1...