La formule proposée génère toutes les dates de future intervention (à compter de la date de dernière intervention + de la périodicité) sur 2 ans pour une périodicité de 3 mois. Et plus si la périodicité est supérieure à 3 mois car je prends les 8 prochaines interventions.
Si tu vois les interventions passées, c'est que la date de dernière intervention n'a pas été mise à jour ou pire a été dépassée sans rien faire. Je suis surpris de ton affirmation qu'elle montre des dates passées.
S'il faut 3 ans maintenant ou plus alors il faut allonger la série
1;2;3;4;6;6;7;8
et ajouter autant de
1;1;1;1;1;1;1;1
dans
=if(iserror(MATCH(H$4;arrayformula(edate($F6;$D6*{1;2;3;4;6;6;7;8})-weekday(edate($F6-2;$D6*{1;2;3;4;6;6;7;8});2)+{1;1;1;1;1;1;1;1});0));;$E6)
et la formule permet d'afficher la charge de travail comme demandé
A contrario, si tu ne veux que la suivante, alors la formule se simplifie
=if(iserror(MATCH(H$4;(edate($F6;$D6)-weekday(edate($F6-2;$D6);2)+1);0));;$E6)
Mais je ne pourrais pas afficher la première intervention dans une plage donnée, c'est la suivante ou les x suivantes, c'est déjà pas mal, et à condition que la date de dernière intervention soit mise à jour.
Maintenant je ne sais pas ce que je dois faire avec les codes couleurs. Quant aux jours fériés, il faut donner la liste (je ne sais pas quelle est ton pays, voire ta région car cela peut changer en France comme en Suisse)
Personnellement je m'arrête ici car j'évite de compliquer encore plus une fonction qui fonctionne sur 2 années.