Calcul d'heures en fonction de conditions (Fonction SI)

Nico5330

XLDnaute Nouveau
Bonjour, j'ai une formule pour calculer les heures d'une personne sur un mois... Dans ces horaires, il y a différentes anotations qui sont répertoriées pour différencier les jours pointés à 7h36 et les jours à 8h06...

Cette formule est très longue en raison des multiple conditions donc je dois séparer le mois en 6 parties (Du 1 au 5, du 6 au 10, ...) pour refaire une somme taotele des heures calculées dans une autre cellule...

Je me demandais si il était possible de simplifier la formule pour qu'elle calcule la somme des heures de travail en une fois avec toutes les conditions remplies...

Ma formule initiale pour 5 jours car plus, la formule est trop longue :
=SI(B2="C";"7:36";SI(B2="ent";"7:36";SI(B2="form";"7:36";SI(B2="mon";"7:36";SI(B2="jurbise";"7:36";SI(B2="HR";"7:36";SI(B2="R";"0:00";SI(B2="";"0:00";"08:06"))))))))+SI(C2="C";"7:36";SI(C2="ent";"7:36";SI(C2="form";"7:36";SI(C2="mon";"7:36";SI(C2="jurbise";"7:36";SI(C2="HR";"7:36";SI(C2="R";"0:00";SI(C2="";"0:00";"08:06"))))))))+SI(D2="C";"7:36";SI(D2="ent";"7:36";SI(D2="form";"7:36";SI(D2="mon";"7:36";SI(D2="jurbise";"7:36";SI(D2="HR";"7:36";SI(D2="R";"0:00";SI(D2="";"0:00";"08:06"))))))))+SI(E2="C";"7:36";SI(E2="ent";"7:36";SI(E2="form";"7:36";SI(E2="mon";"7:36";SI(E2="jurbise";"7:36";SI(E2="HR";"7:36";SI(E2="R";"0:00";SI(E2="";"0:00";"08:06"))))))))+SI(F2="C";"7:36";SI(F2="ent";"7:36";SI(F2="form";"7:36";SI(F2="mon";"7:36";SI(F2="jurbise";"7:36";SI(F2="HR";"7:36";SI(F2="R";"0:00";SI(F2="";"0:00";"08:06"))))))))

Je refais ensuite la même formule pour les jours suivants (par 5 toujours) et je regroupe tous les résultats d'heures en une seule cellule ensuite (fonction SOMME classique)

Je planchais vers une autre formule pour regrouper toutes les cellules à analyser... Voici ma formule mais elle ne fonctionne pas (#VALEUR) soit :
=SI((B2:AF2)="C";"7:36";SI((B2:AF2)="ent";"7:36";SI((B2:AF2)="form";"7:36";SI((B2:AF2)="mon";"7:36";SI((B2:AF2)="jurbise";"7:36";SI((B2:AF2)="HR";"7:36";SI((B2:AF2)="R";"0:00";SI((B2:AF2)="";"0:00";"08:06"))))))))

Pouvez m'aider ??
D'avance, je vous remercie.
Nico
 

Pièces jointes

  • Essai heures supp 2.xls
    29 KB · Affichages: 103

Tibo

XLDnaute Barbatruc
Re : Calcul d'heures en fonction de conditions (Fonction SI)

Bonjour,

Une tentative de simplification en AJ13 :

Code:
=SOMMEPROD(((B3:F3="C")+(B3:F3="ent")+(B3:F3="form")+(B3:F3="mon")+(B3:F3=
"jurbise")+(B3:F3="HR"))*"7:36")+(5-SOMMEPROD(((B3:F3="C")+(B3:F3="ent")+(B3:F3=
"form")+(B3:F3="mon")+(B3:F3="jurbise")+(B3:F3="HR")+(B3:F3="R"))))*"8:06"

Je te laisse tester et adapter pour les cellules suivantes.

@+
 

hoerwind

XLDnaute Barbatruc
Re : Calcul d'heures en fonction de conditions (Fonction SI)

Bonjour et bienvenu sur le forum, salut Tibo,

Je ne comprends pas :
- sous la formule en AJ3 un horaire de 7:36 est appliqué pour "ent" et "mon"
- alors que sous l'explication en AJ12 il faudrait appliquer un horaire de 8:06
- de plus, il n'est pas précisé quel horaire est d'application pour "form"; "jurbise"; "HR", ...

Peut-on avoir quelques explications complémentaires ?

Edition :
Essaie cette formule :
=(31-NB.SI(B3:AF3;"R")-NB.SI(B3:AF3;0))*"8:06"-NB.SI(B3:AF3;"C")*"0:30"
Elle renvoie 176:12
La différence de 2:30 avec le résultat en AH3 provient de 5 jours * ("8:06"-"7:36")
pour lesquels il demandé précision ci-dessus.
 
Dernière édition:

Nico5330

XLDnaute Nouveau
Re : Calcul d'heures en fonction de conditions (Fonction SI)

Merci pour votre attention au problème et donc :
Concernant, Jurbise, Euro, form et tous les horaires possibles de pause, en fait, c'est compté 8:06.

Concernant le C (congé), HR, Mon, ent, c'est compté 7:36
Concernant R (Repos) , c'est compté 0:00

Sorry pour le manque de précision au départ mais c'est parce que j'essaye de trouver la formule générale et ensuite adapté l'horaire

J'essaye la formule proposée et je dis quoi
 

Nico5330

XLDnaute Nouveau
Re : Calcul d'heures en fonction de conditions (Fonction SI)

On vient de me proposer une formule qui a l'air de marcher pas mal... En tt cas, cela donne le même résultat que celle développée...
Il s'agit de :

=(NB.SI($B$3:$AF$3;"c")+NB.SI($B$3:$AF$3;"ent")+NB.SI($B$3:$AF$3;"form")+NB.SI($B$3:$AF$3;"mon")+NB.SI($B$3:$AF$3;"jurbise")+NB.SI($B$3:$AF$3;"HR"))*"7:36"+SOMMEPROD(($B$3:$AF$3<>"c")*($B$3:$AF$3<>"ent")*($B$3:$AF$3<>"form")*($B$3:$AF$3<>"mon")*($B$3:$AF$3<>"jurbise")*($B$3:$AF$3<>"HR")*($B$3:$AF$3<>"r")*($B$3:$AF$3<>""))*"8:06"

Pour moi, cela rejoint toutes nos idées et je pense que la question est donc résolue...
Un tout grand merci pour votre soutien et votre aide.
Bien à vous et au plaisir
 

sioum

XLDnaute Occasionnel
Re : Calcul d'heures en fonction de conditions (Fonction SI)

bjr

voila ce que je te propose en espérant que ca t'iras

par contre je ne retrouve pas les mm montants que toi

a toi de controle voir modifié si necessaire
 

Pièces jointes

  • Copie de Essai heures supp 2.xls
    30.5 KB · Affichages: 104

Monique

Nous a quitté
Repose en paix
Re : Calcul d'heures en fonction de conditions (Fonction SI)

Bonjour,

C’est faisable aussi comme ça :


Code:
[FONT=Verdana][FONT=Verdana]=NBVAL($B$3:$AF$3)*"8:06"-SOMMEPROD(NB.SI($B$3:$AF$3;$AQ$9:$AQ$15)*$AR$9:$AR$15)[/FONT]
[/FONT]
En donnant un nom aux plages AQ9:AQ15 et AR9:AR15
Code:
[FONT=Verdana][FONT=Verdana]=NBVAL($B$3:$AF$3)*"8:06"-SOMMEPROD(NB.SI($B$3:$AF$3;Code)*Enlever)[/FONT]
[/FONT]
En moins court
Code:
[FONT=Verdana][FONT=Verdana]=NBVAL($B$3:$AF$3)*"8:06"-SOMMEPROD(NB.SI($B$3:$AF$3;{"C";"Ent";"Form";"Mon";"Jurbise";"HR";"R"})*{"0:30";"0:30";"0:30";"0:30";"0:30";"0:30";"8:06"})[/FONT]
[/FONT]
 

Pièces jointes

  • HeuresNico5330.zip
    7.5 KB · Affichages: 48

Discussions similaires

Réponses
3
Affichages
400

Statistiques des forums

Discussions
312 297
Messages
2 086 972
Membres
103 414
dernier inscrit
Congelus