Re : formule pour convertir cp en jour
Re,
Dans Insertion – Nom – Définir, c’est cette formule
=DECALER(Data!$A$2;;;NBVAL(Data!$A$2:$A$100)*(JOURSEM(Janvier!$A12;2)<6)*(NB.SI(Fer;Janvier!$A12)=0))
=DECALER(Référence ; nb de lignes ; nb de colonnes ; hauteur ; largeur)
La plage avec toutes les absences, c'est ce que tu avais fait :
=DECALER(Data!$A$2;;;NBVAL(Data!$A$2:$A$100))
Avec cette formule, la liste de validation contient toutes les absences, hauteur = 4
Les sam, dim et Fer, on ne veut aucune absence
C'est cette partie qu'il faut modifier,
NBVAL(Data!$A$2:$A$100)
Il faut que la longueur = 0 si dim, sam ou férié
=(JOURSEM($A12;2)<6)*1
renvoie 1 si joursem < 6 --> VRAI*1 = 1
renvoie 0 pour sam et dim --> FAUX*1 = 0
=(NB.SI(Fer;$A12)=0)*1
renvoie 1 si la date en A12 est un férié --> VRAI*1 = 1
renvoie 0 si A12 n'est pas un férié --> FAUX*1 = 0
NBVAL(Data!$A$2:$A$100)*(JOURSEM($A12;2)<6)*(NB.SI(Fer;$A12)=0)
Ce bout de formule donne :
Si A12 est un sam non férié
Longueur de la plage =4 * 0 * 1 = 0
Si A12 est un dim non férié
Longueur de la plage =4 * 0 * 1 = 0
Si A12 est un sam férié
Longueur de la plage =4 * 0 * 0 = 0
Si A12 est un dim férié
Longueur de la plage =4 * 0 * 0 = 0
Si A12 est un jour de semaine férié
Longueur de la plage =4 * 1 * 0 = 0
Si A12 n'est ni sam ni dim ni férié
Longueur de la plage =4 * 1 * 1 = 4
Pour que la formule puisse servir dans toutes les feuilles mensuelles,
dans Insertion - Nom - Définir, on enlève le nom de l'onglet, en laissant le point d'exclamation
=DECALER(Data!$A$2;;;NBVAL(Data!$A$2:$A$100)*(JOURSEM(!$A12;2)<6)*(NB.SI(Fer;!$A12)=0))
(JOURSEM(!$A12;2)<6) et (NB.SI(Fer;!$A12)=0)
à la place de
(JOURSEM(Janvier!$A12;2)<6) et de NB.SI(Fer;Janvier!$A12)