Un élément essentiel de ta configuration (à ne pas modifier), outre que les feuilles mensuelles ont le nom du mois en entier et que les tableaux occupent la même position sur chaque feuille, est que A1 contient la date du premier jour du mois (et c'est la seule cellule contenant une date par feuille).
J'ai procédé à quelques aménagements supplémentaires que tu pourras toujours défaire s'ils ne te conviennent pas.
J'ai recréé des plages nommés : NomMois pour la liste des noms de mois, en F (masquée) qui permet de mettre D1 sous liste déroulante ; Jours pour la liste des jours du mois, en G (masquée) qui permet aussi de mettre B1 sous liste déroulante.
Dans cette dernière liste les formules pour les 29, 30 et 31 sont justifiées par le fait que ces jours n'existent pas pour tous les mois, mais j'ai mis aussi sous formules les autres jours : pour le 1 parce qu'elle se mettra en erreur si la feuille mensuelle n'existe pas, et les suivants pour qu'ils répercutent l'erreur. La plage étant dynamique et ne prenant en compte que les cellule contenant une valeur numérique, s'adapte aux jours existant dans le mois choisi, et si la feuille n'existe pas, la liste déroulante n'apparaît pas non plus.
J'avais pensé t'afficher simultanément le jour de la semaine, pensant que cela pourrait être utile lors de la sélection d'un jour, mais les indications des quantièmes de jours des tableaux n'étant pas des dates, je ne peux m'appuyer que sur le décalage de la succession des jours et il fallait donc conserver une valeur numérique en B1. Je l'ai donc affiché entre parenthèses à côté de la mention "Jour" en A1 :
=SIERREUR("Jour ("&SI($B$1<>"";TEXTE(INDIRECT($D$1&"!A1")+$B$1-1;"jjj")&")";NA());"Jour")
Avec cette formule, si les mentions manquent en D1 ou B1, A1 n'affichera que "Jour", sinon elle affiche entre parenthèses le jour de la semaine.
Ce qui m'a permis de noter que les indications de jours en ligne 2 des feuilles mensuelles étaient fausses. Ta formule étant un peu longue à mon goût, j'en ai substitué une autre (je ne l'ai fait que pour Janvier) :
=CHOISIR(JOURSEM($A$1+B$1-1);"D";"L";"Ma";"Me";"J";"V";"S")
Cette formule qui se place en B2 (feuille mensuelle) et se tire sur la ligne, s'appuyant sur la date en A1 me paraît plus sûre.
Après la formule principale (en B4 de Feuil1) opère toujours avec décalage mais utilise également INDIRECT pour cibler la feuille. Ton organisation se révélant plus simplifiée que la précédente, la formule s'en trouve un peu raccourcie, il me semble) :
=SOMMEPROD(--(DECALER(INDIRECT($D$1&"!A5:A19");;$B$1)=B$3))
Cordialement et bon weekend.