Renvoi conditionnel de cellule

Résolu/Fermé
bobraja - 22 juil. 2010 à 13:33
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 - 24 juil. 2010 à 00:30
Bonjour,
J'ai une petite problèmatique et j'espère que vous pourrez m'aider à trouver une astuce pour la contourner.
En fait j'aimerais mettre en place une tout petit reporting sur les accidents de travail en différenciant ceux donnant lieu à un arrêt et ceux qui ne le sont pas, mais ce n'est pas là le problème.
ma problèmatique est que je dois respecter une certain format sur le fichier de base qui sera rempli à la main.
Le remplissage se fera dans un genre de croix divisées en 53 semaines (il faudra juste mettre le nombre d'accidents par semaine)
J'ai donc créé 3 croix (une pour chaque type d'accidents comme cité ci-dessus et une troisième comme légende pour identifier, en cas de besoin la case de la semaine que l'on voudrait remplir)
l'idée après tout ceci est de pouvoir exploiter ces données sur un tableau tout simple résumant les données pour une semaine donnée.
sur ce tableau vous aurez 3 lignes (intitulé colonne/nb accident avec/nb accident sans) 4 colonnes (intitulé ligne/S "X" X pour le numéro de semaine / M "Y" Y pour le numéro de mois / YTD pour la somme depuis le début de l'année)
Pour le mois et l'année je détourne le problème et ca me va.
mais pour la semaine, il n'est pas possible de faire 52 conditions pour 52 semaines
Mon idée était donc de dire que si le titre de la colonne du tableau est S"X", je dois aller voir dans ma croix qui sert de légende la localisation de la cellule et récupérer le chiffre correspondant dans la bonne croix. Mais comment programmer ceci????
j'ai mis sur google docs un fichier avec ces données pour que vous puissiez visualiser la problèmatique.
https://accounts.google.com/ServiceLogin?service=wise&passive=1209600&continue=https://docs.google.com/spreadsheets/d/1be9K1urQ2RyzQNTMg_VWHUy0Dc6wxrJ1e05cCCQgtPg/edit?authkey%3DCNjzidcO%26hl%3Den%26hl%3Den%26authkey%3DCNjzidcO&followup=https://docs.google.com/spreadsheets/d/1be9K1urQ2RyzQNTMg_VWHUy0Dc6wxrJ1e05cCCQgtPg/edit?authkey%3DCNjzidcO%26hl%3Den%26hl%3Den%26authkey%3DCNjzidcO<mpl=sheets&hl=en
Je vous remercie infiniment pour votre aide.

5 réponses

pour votre information le tableau sensé résumer les données est sur la feuille 2
merci
0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
22 juil. 2010 à 18:28
Bonjour,
Quel logiciel utilisez-vous ?
0
Excel 2003 et 2007
0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
23 juil. 2010 à 11:13
Bonjour,
Ma proposition :
Créer une plage avec les nombres de 1 à 80 (par exemple en plage AK1 :AR8).
Résultat selon votre exemple sur feuille 2:
Attention au titre pour les mois, [Mois 7] à remplacer par [M7]
En B7 :
=INDEX(Feuil1!$C$19:$L$26;ENT(SOMMEPROD(((Feuil1!$M$6:$V$13)=$B$6)*1;Feuil1!$AI$1:$AR$8)/10)+1;MOD(SOMMEPROD(((Feuil1!$M$6:$V$13)=$B$6)*1;Feuil1!$AI$1:$AR$8)/10;1)*10)

En B8 :
=INDEX(Feuil1!$W$19:$AF$26;ENT(SOMMEPROD(((Feuil1!$M$6:$V$13)=$B$6)*1;Feuil1!$AI$1:$AR$8)/10)+1;MOD(SOMMEPROD(((Feuil1!$M$6:$V$13)=$B$6)*1;Feuil1!$AI$1:$AR$8)/10;1)*10)

En C7 :
=INDEX(Feuil1!$B$17:$M$17;;EQUIV(Feuil2!$C$6;Feuil1!$L$4:$W$4;0))

En C8 :
=INDEX(Feuil1!$V$17:$AG$17;;EQUIV(Feuil2!$C$6;Feuil1!$L$4:$W$4;0))

Vous pouvez nommer les différente s plages et ainsi la formule et plus explicite, par exemple :
En B7 :
=INDEX(asat;ENT(SOMMEPROD((matse=$B$6)*1;matnum)/10)+1;MOD(SOMMEPROD((matse=$B$6)*1;matnum)/10;1)*10)

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Je ne sais pas quoi vous dire....
Respect
merci beaucoup
0
Le Pingou Messages postés 12041 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 22 avril 2024 1 426
Modifié par Le Pingou le 24/07/2010 à 00:31
Bonjour,
Petite amélioration, avec cette formule il n'y a plus besoin de la plage (nb de 1 à 80)
=INDEX(asat;SOMMEPROD((matse=$B$6)*LIGNE(1:8));SOMMEPROD((TRANSPOSE(matse)=$B$6)*LIGNE(1:10)))

Valider la formule avec Maj+Ctrl+Entrée

Ou : asat (tableau 1) = Feuil1!$C$19:$L$26 et matse = Feuil1!$M$6:$V$13
le aaat ( tableau 2) = Feuil1!$W$19:$AF$26
Salutations.
Le Pingou
0