Bonjour Julian Ross,
Vos dates en ligne 6 ne sont pas correctes,
dans votre formule :
=SI($E7>0;$G7;NB.JOURS.OUVRES(DATEVAL(MOIS($D7)&"/"&ANNEE($D7));$D7)/21,67)
vous forcez l'affichage de 100% sitôt que la colonne E est supérieure à 0,
toutes ces valeurs étant supérieure à 0 la fonction NB.JOURS.OUVRES()
n'est jamais utilisée.
Je vous propose de corriger les dates en ligne 6 pour avoir la fin du mois précédent + 1 jour à partir de I$6 à étendre vers la droite:
=FIN.MOIS(H$6;0)+1
et le premier essai de résolution, en H7 la formule suivante à étendre vers le bas puis la droite tant que nécessaire :
=SI(H$6>$D7;"";NB.JOURS.OUVRES(MIN(H$6;FIN.MOIS($D7;-1)+1);MIN(FIN.MOIS(H$6;0);$D7))/21,67)
ou celle ci en second essai, qui ne compare pas à une constante mais au nombre de jours ouvrés du mois :
=SI(H$6>$D7;"";NB.JOURS.OUVRES(MIN(H$6;FIN.MOIS($D7;-1)+1);MIN(FIN.MOIS(H$6;0);$D7))/NB.JOURS.OUVRES(H$6;FIN.MOIS(H$6;0)))