[excel] Répartition mensuelle - bug dans ma formule

Répartition mensuelle - bug dans ma formule [excel] - Logiciels - Windows & Software

Marsh Posté le 03-07-2013 à 08:48:27    

Bonjour,
 
J'ai un fichier permettant de calculer la répartition mensuelle du nombre de jours, soit ouvrés, soit calendaires.
Ma formule fonctionne pour la répartition en fonction du type de contrat (C= calculs en jours calendaires, et S = calculs en jours ouvrés).
 
Mais il y a une "nouille dans le potage" qui fait que lorsque la date est le 1er du mois, j'ai un jour qui se compte sur le mois précédent pour le type "S" (calcule le nombre de jours ouvrés)
 
Par exemple : calcul du nb de jours ouvrés entre le 01/07/2014 et 31/08/2014 j'obtiens
juin : 1
juillet : 24
Aout : 21
 
 
Pour info il y a 24 jours ouvrés en juillet et 21 en aout car nous comptons également les jours fériés, il ne faut pas les déduire.
 
 
Le fichier est composé comme suit :
 
A1 = type de contrat (C ou S)
B1 = Date début contrat
C1 = Date fin contrat
Ensuite la répartition par mois (format date 01/01/2014 ; 01/02/214 ect…) :
D1 = janvier
E1 = février
Ect…
 
Et sur la ligne 2  les données.
 
 
La formule en D2 :
=SI($A2="c";SI(OU($C2<D$1;$B2>E$1-1);0;MIN($C2;E$1-1)-MAX($B2;D$1)+1);SI($A2="s";MAX(0;NB.JOURS.OUVRES(M AX($B2;D$1);MIN($C2;E$1)));"" ))  
 
 
 
Auriez vous une idée pour corriger cette erreur ? J'ai essayé en jouant avec des -1 et +1 mais ça ne fonctionne... ché plus quoi faire :o
 
Je peux faire passer le fichier si vous préférez :)
 
 
 [:stellayr]


---------------
Depuis le temps que mes copines et moi sommes nues dans la boue, on se refait une beauté ! Mais pour patienter, c'est ici >> ICI <<
Reply

Marsh Posté le 03-07-2013 à 08:48:27   

Reply

Marsh Posté le 06-07-2013 à 12:31:04    

Bonjour,
 
J'ai juste modifié la formule pour que cela fonctionne:
=SI($A2="c";SI(OU($C2<D$1;$B2>E$1-1);0;MIN($C2;E$1-1)-MAX($B2;D$1)+1);SI($A2="s";(D$1>=$B2)*MAX(0;NB.JOURS.OUVRES(MAX($B2;D$1);MIN($C2;E$1)));"" ))
 
Voilà.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed