Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Besoin d'aide pour finaliser ma formule

  • Initiateur de la discussion Initiateur de la discussion fenec
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

fenec

XLDnaute Impliqué
Bonjour le forum,

Une nouvelle fois besoin de votre aide afin de finaliser ma formule, en effet j’ai essayé pas mal de truc mais rien ne me donne satisfaction.
Je vous expose donc mon problème :

Dans la cellule "W7" je souhaite faire la somme des CP posés à l’année en fonction de la tournante de travail qui s’automatise en "H4". Mon problème est qui les CP posés en "SD" ne valent pas 1 mais 2.5, donc avec les 2 CP posés dans mon tableau je devrais obtenir en "W7" 3.5 et non 5 car seul les CP des samedi et des dimanche valent 2.5 un CP semaine ne valant que 1.
J’espère avoir été clair.

Cordialement

Philippe
 

Pièces jointes

Re : Besoin d'aide pour finaliser ma formule

Bonjour,
Tu as donc deux critères : la valeur CP et le N° du jour dans la semaine.
Pour faire le calcul sur une plage et avec un double SI il faut une formule matricielle. (impossible d'utiliser sommeprod avec joursem comme critère).
Les formules matricielles ne sont pas possibles dans des cellules fusionnées.
donc : dé fusionner W7 puis en w7 :
Code:
=SI($H$4="1 - SD";SOMME(SI($G$15:$AN$45="CP";SI(JOURSEM($E$15:$AL$45;2)>=6;2,5;1);0));NB.SI($E$15:$AN$45;"CP"))
à valider par ctrl+majtemp+enter

voir pj
Cordialement
 

Pièces jointes

Re : Besoin d'aide pour finaliser ma formule

Bonjour Dugenou

Merci pour ton aide cela fonctionne mais sans vouloir abuser encore besoin de tes lumières, en effet ayant en "H4" 3 tournantes pour le SD.
Est-il possible de combiner les tournantes afin que ta formule fonctionne en fonction de la tournante sélectionnée ?

J’ai essayé comme ceci mais la réponse est : FAUX

Code:
=SI($H$4="SD"; SI($H$4="1 - SD"; SI($H$4="2 - SD";SOMME(SI($G$15:$AN$45="CP";SI(JOURSEM($E$15:$AL$45;2)>=6;2,5;1);0));NB.SI($E$15:$AN$45;"CP"))

Et comme ceci mais sans plus de succès

Code:
=SI($H$4="SD";SOMME(SI($G$15:$AN$45="CP";SI(JOURSEM($E$15:$AL$45;2)>=6;2,5;1);0));NB.SI($E$15:$AN$45;"CP") ;SI($H$4="1 - SD";SOMME(SI($G$15:$AN$45="CP";SI(JOURSEM($E$15:$AL$45;2)>=6;2,5;1);0));NB.SI($E$15:$AN$45;"CP");SI($H$4="2 - SD";SOMME(SI($G$15:$AN$45="CP";SI(JOURSEM($E$15:$AL$45;2)>=6;2,5;1);0));NB.SI($E$15:$AN$45;"CP"))))

Cordialement
 
Re : Besoin d'aide pour finaliser ma formule

Bonjour,
Que faut-il faire pour 2-SD ? je ne vois pas de différence avec le 1-SD dans tes formules ! Dans ce cas on pourrait réunir les 2 possibilités.
Pour Modeste : j'ai seulement testé une formule sommeprod en mettant joursem(plage;2)>=6 ai j'ai eu le résultat #valeur : je n'ai pas cherché plus loin. Je vais creuser.
Edit : j'ai creusé ; dans le cas de ce fichier le joursem (e15:an45 ..) renvoie des "#valeur" pour les plages qui ne sont pas des dates. Donc on peut bien utiliser sommeprod et joursem, mais pas dans ce cas car il faudrait faire le calcule plage de date par plage de date.
 

Pièces jointes

Dernière édition:
Re : Besoin d'aide pour finaliser ma formule

Bonsoir Dugenou

Une fois encore merci tu as parfaitement compris mon désir, à savoir réunir les deux possibilités.
Je suis même allé plus loin en réunissant les trois en fonction de la tournante que j’occupe.
Tu as raison pas de différence dans les formules simplement la tournante à savoir SD, 1 – SD ou 2 – SD mais le résultat dois être le même pour les trois. Dans ta première solution si je changeais de tournante exemple 2 – SD, j’obtenais 2 et non 3.5

Code:
=SI(OU($H$4="SD";$H$4="1 - SD";$H$4="2 - SD");SOMME(SI($G$15:$AN$45="CP";SI(JOURSEM($E$15:$AL$45;2)>=6;2.5;1);0));NB.SI($E$15:$AN$45;"CP"))

Cordialement
Bonne fin de soirée

Philippe
 
Re : Besoin d'aide pour finaliser ma formule

re,

par contre pas tout compris par rapport à Modeste

si tu veux bien m'éclairer ca peux servir

cordialement

Philippe
 
Re : Besoin d'aide pour finaliser ma formule

Bonjour,
S'il n'y a pas de différence de résultat entre les 3 "tournantes" : il est inutile de faire le test !
cela donne donc :
Code:
=SOMME(SI($G$15:$AN$45="CP";SI(JOURSEM($E$15:$AL$45;2)>=6;2,5;1);0))
Toujours en matriciel.
Pour le petit mot à Modeste : j'avais écrit
il est impossible de faire un joursem dans un sommeprod
et c'est faux comme Modeste me l'a justement fait remarquer en privé.
Cordialement
 

Pièces jointes

Re : Besoin d'aide pour finaliser ma formule

Bonjour Dugenou,le forum

Encore merci problème résolu, me permettrais de revenir si problème.

j'étais parti au départ sur sommeprod mais sans joursem donc normal que je n'aboutissais pas.

D'ou ma demande d'aide.

Sans abuser, pourrais tu me montrés par sommeprod et joursem, cela me permettrais encore d'apprendre.

J'apprend énormément grace à vous, un grand merci au forum.

Cordialement

Philippe
 
Re : Besoin d'aide pour finaliser ma formule

Bonjour,
en pj exemple avec sommeprod et joursem mais seulement pour janvier. la formule n'est pas plus simple mais elle n'est pas matricielle

Code:
=SOMMEPROD(($G$15:$G$45="CP")*(JOURSEM($E$15:$E$45;2)>=6)*2,5)+SOMMEPROD(($G$15:$G$45="CP")*(JOURSEM($E$15:$E$45;2)<6)*1)

Qaund on veut traiter tout le tableau d'un coup avec

Code:
=SOMMEPROD(($G$15:$AN$45="CP")*(JOURSEM($E$15:$AL$45;2)>=6)*2,5)+SOMMEPROD(($G$15:$AN$45="CP")*(JOURSEM($E$15:$AL$45;2)<6)*1)

on a un joli ##### car le joursem sur les colonnes sans dates renvoie des erreurs et le sommprod essaye de les traiter (alors que dans la formule de la v3 le si permet de ne traiter que les valeurs sans erreurs)

Cordialement
 

Pièces jointes

Re : Besoin d'aide pour finaliser ma formule

Bonjour,

Comme je suis en partie responsable des "fouilles" entreprises par Dugenou, je peux tenter d'expliquer:
Si tu écris "=SOMMEPROD((G15:G45="CP")*((JOURSEM($E$15:$E$45;2)>5)*2,5))", tu obtiendras bien comme résultat le nombre de jours de week-end, en janvier 2013, pour lesquels "CP" est renseigné, multiplié par 2.5
On aurait donc ici déjà un souci pour comptabiliser, en plus, les "CP" pour les autres jours de la semaine.
Au pire, "=SOMMEPROD((G15:G45="CP")*((JOURSEM($E$15:$E$45;2)>5)*2,5))+SOMMEPROD((G15:G45="CP")*((JOURSEM(E15:E45;2)<6)))" permettrait de s'en sortir (mais ça devient un peu plus long!)

Là où ça ne va plus du tout, c'est quand tu essayes de couvrir une plage plus large que la seule colonne E, avec la fonction JOURSEM: comme la colonne F contient des formules qui renvoient des guillemets vides ou d'autres valeurs de type texte, JOURSEM renvoit un message d'erreur ... et en multipliant une matrice de {VRAI;VRAI;VRAI; ...} par une autre matrice qui contiendrait ne fût-ce qu'un seul #VALEUR!, le résultat sera #VALEUR! aussi!
Avec les SI imbriqués, utilisés par Dugenou, je suppose qu'on peut dire que le second SI n'est évalué que si le premier est vrai ... ce qui fonctionne parfaitement dans ton fichier.

Conclusion, rien n'interdit de combiner les fonctions SOMMEPROD et JOURSEM, mais dans le cas présent, ça ne fonctionne absolument pas!

Edit: Arfff! désolé pour la collision, Dugenou 😱
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…