Bonjour gturkmen,
Je vais essayer de t'aider un peu, j'ai essayer de retranscrire ce que la fonction réalise comme calcul :
=NB.JOURS.OUVRES(ENT($C$1);ENT(D3);_off)*(_fapm-_dapm+_fmat-_dmat)-SI(NB.SI(_off;ENT($C$1))>0;0;MAX(0;MIN(MOD($C$1;1);_fmat)-_dmat)+MAX(0;MIN(MOD($C$1;1);_fapm)-_dapm))-SI(NB.SI(_off;ENT(D3))>0;0;MAX(0;_fmat-MAX(MOD(D3;1);_dmat))+MAX(0;_fapm-MAX(MOD(D3;1);_dapm)))
Compte le nombre de jour ouvrés entre deux dates (en entier(date de départ);en entier(date de fin);en enlevant les jours fériés) multiplié par (fin aprèm moins début aprèm plus fin matin plus début matin) moins Si(Compte.Si(dans les jours fériés; depuis la la date situé en C1 il y a plus de 0 jours fériés; si c'est le cas tu indique 0 sinon renvoi la valeur Maximale ... [ici je me suis stoppé à la première apparition de la fonction MAX].
Pour la seconde partie c'est des calculs d'heures, donc je ne suis pas certain de pouvoir correctement retranscrire le sens du calcul, car je ne maitrise pas assez les fonctions MAX et MIN.
Code couleurs :
En violet : la transcription des fonction
En vert : les paramètres
En rouge : les opérateurs (+ / - / x et /)
En noir le texte de liaison pour que cela reste compréhensible.
Globalement c'est une formule assez simple qui te permet de faire un calcul précis avec des dates et des heures.
Les formulation suivantes ont étés définis par le créateur de ce fichier. Elles correspondent à des cellules (il les a renommées afin de pouvoir rapidement les intégrer à des calculs sans spécifier leur coordonnées.
_dmat : Paramètres > B3
_fmat : Paramètres > B4
_dapm : Paramètres > B5
_fapm : Paramètres > B6
J'espère ne pas m'être trompé dans cette première partie.
Cdt,