Formule pour calculer les congés en heures

Résolu/Fermé
pupuce3945 Messages postés 42 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 9 mars 2014 - 7 mars 2014 à 20:57
pupuce3945 Messages postés 42 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 9 mars 2014 - 9 mars 2014 à 15:12
Bonsoir,

Après plusieurs recherches sur le net en vain pour trouver une solution à mon problème, j'appelle à l'aide!

Voici le tableau sur lequel je travaille: https://www.cjoint.com/?DChqL1ie7tj

Je cherche une formule pour calculer les congés en heures.
EX : Si employé X travail 7h par jours la formule est la suivante =NB.SI(B8:AF8;"C")*7+NB.SI(B8:AF8;"CP")*7

(C=Congés; CP=Congés Prévisionnels J'ai du mettre cette condition car j'ai d'autres choix M=Maladie, P=Personnel et F=Formation mais ils ne rentrent pas en compte dans le calcul)

Pour un employé qui fait le même nombre d'heures tous les jours pas de souci pour la formule!
Là ou ça ce complique pour moi, c'est lorsqu'un employé ne fait pas le même nombre d'heures tous les jours!

Ex : Si employé Y travail le lundi:7h; mardi:6h; mercredi:7h; jeudi:7h et vendredi:3h
Il faut prendre en compte 2 plages de cellules avec des conditions, et je n'y arrive pas!

J'étais partie sur cette formule:
=NB.SI(B6:AF6;"C")+NB.SI(B6:AF6;"CP")+NB.SI(B2:AF2;"lun"=7)+NB.SI(B2:AF2;"mar"=6)+NB.SI(B2:AF2;"mer"=7)+NB.SI(B2:AF2;"jeu"=7)+NB.SI(B2:AF2;"ven"=3)

Mais ça ne fonctionne pas, il y a une erreur, mais laquelle? ou lesquelles?

J'ai essayé SI OU ET SOMMEPROD NBVAL mais rien ne fonctionne!

Je pense que la formule doit être toute simple, mais là je sèche!

J'espère que vous pourrez m'aider, et avoir été claire, car j'avoue que moi même j'en perd mon latin!

Merci d'avance.

Cordialement.



A voir également:

3 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
7 mars 2014 à 23:03
Bonjour,

En AI4 :
=SOMMEPROD(($B3:$AF4="C")*($B$2:$AF$2="lun")*7)+SOMMEPROD(($B3:$AF4="C")*($B$2:$AF$2="mar")*6)+SOMMEPROD(($B3:$AF4="C")*($B$2:$AF$2="mer")*7)+SOMMEPROD(($B3:$AF4="C")*($B$2:$AF$2="jeu")*7)+SOMMEPROD(($B3:$AF4="C")*($B$2:$AF$2="ven")*3)+SOMMEPROD(($B3:$AF4="C")*($B$2:$AF$2="sam")*0)+SOMMEPROD(($B3:$AF4="CP")*($B$2:$AF$2="lun")*7)+SOMMEPROD(($B3:$AF4="CP")*($B$2:$AF$2="mar")*6)+SOMMEPROD(($B3:$AF4="CP")*($B$2:$AF$2="mer")*7)+SOMMEPROD(($B3:$AF4="CP")*($B$2:$AF$2="jeu")*7)+SOMMEPROD(($B3:$AF4="CP")*($B$2:$AF$2="ven")*3)+SOMMEPROD(($B3:$AF4="CP")*($B$2:$AF$2="sam")*0)
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
7 mars 2014 à 23:21
Bonjour,

Si tu fais démarrer tout tes codes congés par "C", et les autres codes par une autre lettre, tu peux diviser ta formule par 2 en utilisant :
GAUCHE($B3:$AF4;1)="C"
Plus besoin de tester "CP"
Ca sera toujours ça en moins à modifier si un agent change de régime horaire.

eric
0
pupuce3945 Messages postés 42 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 9 mars 2014 3
7 mars 2014 à 23:35
Merci beaucoup Patrice33740, cette formule est parfaite!

J'avais essayé SOMMEPROD mais sans les $!

D'ailleurs, peux-tu m'expliquer à quoi $ correspond, si ce n'est pas trop demandé?

Et je ne comprend pas non plus pourquoi il faut prendre B3:AF4?
B3:AF3 ne fonctionnerai pas?

En tout cas un grand merci!!

Cordialement!
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
8 mars 2014 à 13:58
Bonjour,

Les $ servent à figer les cellules lorsque tu reproduis la formule vers le bas (ou vers la droite)

Oups !!! Désolé, $B3:$AF4 est une erreur de ma part, il faut les remplacer par $B3:$AF3

Cordialement
Patrice
0
pupuce3945 Messages postés 42 Date d'inscription mercredi 7 octobre 2009 Statut Membre Dernière intervention 9 mars 2014 3
9 mars 2014 à 15:12
Bonjour,

Merci Patrice33740 pour tes explications!
Et merci eriiic pour l'astuce!

Cordialement.
0