De façon analogue, on nomme la plage de début de Vacances : DVac par exemple ! et celle de fin de Vacances : FVac...
On est dans les vacances si la date testée est incluse entre 2 dates bornes de vacances (bornes exclues, selon la façon dont l'éducation nationale établit ses calendriers).
(DVac<A4) renvoie une matrice de VRAI si A4 est postérieur à la borne début vacance, ou FAUX si A4 est antérieur ou égal à cette borne.
(FVac>A4) renvoie un matrice de VRAI SI A4 est antérieur à la borne fin vacance, ou FAUX si A4 est postérieur ou égal à cette borne.
En faisant le produit de ces deux matrices :
(DVac<A4)*(FVac>A4) on obtient une matrice produit de 2 valeurs booléennes, composées de 1 (VRAI*VRAI) si les 2 conditions sont vraies, et de 0 (VRAI*FAUX ; FAUX*VRAI ; FAUX*FAUX) si l'une des conditions ou les deux sont fausses.
On place cette expression dans la fonction SOMMEPROD qui va en renvoyer la somme des éléments.
SOMMEPROD((DVac<A4)*(FVac>A4)) renverra donc 0 si la date n'est pas incluse dans une période de vacance et 1 si la date est incluse dans une période de vacance. (Il ne peut y avoir de résultat supérieur à 1, dans la mesure où une date donnée ne peut être située simultanément à l'intérieur de plusieurs périodes de vacances...)
D'où la formule :
=SI(SOMMEPROD((DVac<A4)*(FVac>A4));"X";"")
pas plus compliquée que la précédente.
Cordialement.