[calc] sommeprod, somme.si : incompatibles avec une plage définie sur plusieurs feuilles ?

bonjour à tous

tout d'abord un grand merci à tous ceux qui participent activement à cette liste : j'apprends et je progresse grâce à vous (et je ne pense pas être la seule!)

Je suis enseignante, et je souhaiterais évaluer mes élèves par compétences (plus ou moins..) et pour ne pas y passer mes soirées, j'ai essayé de concevoir un classeur pour me faciliter le travail (et surtout le décompte des points)

j'ai déposé mon classeur pour faciliter la compréhension de ma demande :

http://www.cjoint.com/c/EHejJVvCQ4L

Première feuille :

je copie colle en début d'année la liste de mes élèves dans la colonne H et cela se répercutera sur toutes mes autres feuilles.

Deuxième feuille :

un exemple de DS.

À partir de la colonne L : ligne 1 mes commentaires, ligne 2 le numéro de la question, ligne 3 la compétence évaluée, et le formatage conditionnel gère la mise en forme.

Lorsque je saisis les notes, le bilan de ce devoir est automatiquement effectué dans les premières colonnes. Je saisis le caractère a pour les éventuels absents dans la colonne I.

Troisième feuille :

une feuille prête (avec les formules nécessaires et le formatage conditionnel), que je copie colle lorsqu'il y a une nouvelle évaluation (la feuille nommée modele reste toujours la dernière feuille, j'insère les nouvelles feuilles juste avant celle-ci)

Pas de souci jusque là.

Mon problème concerne le bilan à effectuer sur la feuille 1 :

pour chaque élève et chaque compétence 1 j'aimerais additionner toutes les notes obtenues dans cette compétence, puis ramener la note sur 20, en divisant par la somme des points maximums obtenus et en multipliant par 20.

(ex : l'élève 1 a eu 3 sur 5, 8 sur 10 et absent : il obtient (3+8)/(5+10)*20 ;

l'élève 2 a eu 3 sur 5, 8 sur 10 et 1 sur 2 : il obtient (3+8+1)/(5+10+2)*20 :wink:

Ce qui me pose souci est de tenir compte effectivement des absences (c'est à dire ici diviser par 15 et non par 17)

J'ai essayé (dans la feuille Bilan, en A4) :

=20*SOMME(DS1.A4:modele.A4)/SOMMEPROD(DS1.A$3:modele.A$3);1*ESTNUM(DS1.A4:modele.A4))

ce qui ne convient pas (on ne peut pas utiliser sommeprod sur une matrice définie sur plusieurs feuilles?)

par contre, le début de la formule SOMME(DS1.A4:modele.A4) me convient et conviendra encore lorsque j'ajouterai des évaluations, donc des feuilles.

J'ai ensuite testé (toujours dans la feuille Bilan, en A4) :

=20*SOMME(DS1.A4:modele.A4)/SOMME.SI(DS1.A4:modele.A4;"<>"&"" ;DS1.A$3:modele.A$3)

avec le même problème avec la fonction Somme.si cette fois-ci

j'ai ensuite essayé (pour la somme des coefficients):

=SOMMEPROD(INDIRECT(NomFeuille&".A$3");1*ESTNUM(INDIRECT(NomFeuille&".A4")))

en créant un "champ" (?) nommé NomFeuille en M8, M9 de la première feuille.

Cette formule me semble bien donner la réponse attendue en A4, mais elle ne s'étend pas correctement (A$3 et A4 sont des caractères "bloqués")

j'ai tenté de les remplacer par colonne() et ligne() mais j'avais des soucis de référence circulaire

et là... je ne sais plus quoi faire !

Désolée d'avoir été aussi longue, mais je ne sais pas s'il y a une formule qui "marche" ou si la conception même de mon classeur est à revoir (d'où mes explications!)

merci à tous ceux qui m'ont lue jusque là.

je suis sous Ubuntu 14.04 et LibreOffice Version: 4.2.7.2, Build ID: 420m0(Build:2)

Sylvie

Bonjour

S. Listes wrote

Ce qui me pose souci est de tenir compte effectivement des absences
(c'est à dire ici diviser par 15 et non par 17)
...
ce qui ne convient pas (on ne peut pas utiliser sommeprod sur une
matrice définie sur plusieurs feuilles?)
...
avec le même problème avec la fonction Somme.si cette fois-ci

Non, en effet ces fonctions (comme nb.si, sommesiens, etc.) ne gèrent
pas les "références 3D".

Désolé, je n'ai pas trop le temps de creuser sur ton document mais tu
peux peut-être t'inspirer de la simplification jointe (ajout d'une
colonne de test dans chaque feuille et somme de cette plage).

On pourrait simplifier en utilisant simplement NB (qui gère les références
3D) mais elle nécessite un Ctrl+Maj+F9 pour être actualisée dans ce
contexte.

DS.ods <http://nabble.documentfoundation.org/file/n4156334/DS.ods>

Cordialement
Pierre-Yves

bonjour

Bonjour

S. Listes wrote

Ce qui me pose souci est de tenir compte effectivement des absences
(c'est à dire ici diviser par 15 et non par 17)
...
ce qui ne convient pas (on ne peut pas utiliser sommeprod sur une
matrice définie sur plusieurs feuilles?)
...
avec le même problème avec la fonction Somme.si cette fois-ci

Non, en effet ces fonctions (comme nb.si, sommesiens, etc.) ne gèrent
pas les "références 3D".

Désolé, je n'ai pas trop le temps de creuser sur ton document mais tu
peux peut-être t'inspirer de la simplification jointe (ajout d'une
colonne de test dans chaque feuille et somme de cette plage).

On pourrait simplifier en utilisant simplement NB (qui gère les références
3D) mais elle nécessite un Ctrl+Maj+F9 pour être actualisée dans ce
contexte.

DS.ods <http://nabble.documentfoundation.org/file/n4156334/DS.ods>

merci pour ce retour et pour l'exemple joint
je vais essayer d'adapter et je redirai ce qu'il en est

Merci !
Sylvie

bonjour

(mes excuses aux modérateurs de la liste pour une première réponse avec une adresse non abonnée à la liste ..)

Bonjour

S. Listes wrote

Ce qui me pose souci est de tenir compte effectivement des absences
(c'est à dire ici diviser par 15 et non par 17)
...

Désolé, je n'ai pas trop le temps de creuser sur ton document mais tu
peux peut-être t'inspirer de la simplification jointe (ajout d'une
colonne de test dans chaque feuille et somme de cette plage).

je crois que j'ai compris la proposition :

dans l'exemple que tu as proposé, l'élève est présent à deux évaluations sur 3, et donc la somme de ses deux notes est divisée par deux.

S'il a eu 6, puis absent et 14, cela lui donne bien 10 de moyenne.

Mais ce n'est pas exactement ce que je cherche (la somme de la plage des tests "ne suffit pas") :

Par exemple, l'élève a 6 (mais sur 8!) puis absent (à une note notée sur 12), puis 14 sur 20.

Il faudrait que le calcul soit : 20*(6+14)/(8+20)

J'ajouterais donc une troisième colonne sur chaque feuille qui indique sur combien est la note (ici 8, 12, 20) et il me faudrait obtenir la somme 8+20 sans tenir compte du 12.

je ne sais pas si je suis très claire ?

Je n'ai pas réussi à adapter la formule avec sierreur...

merci !

Sylvie

bonjour

Bonjour

S. Listes wrote

Ce qui me pose souci est de tenir compte effectivement des absences
(c'est à dire ici diviser par 15 et non par 17)
...

Désolé, je n'ai pas trop le temps de creuser sur ton document mais tu
peux peut-être t'inspirer de la simplification jointe (ajout d'une
colonne de test dans chaque feuille et somme de cette plage).

je crois que j'ai compris la proposition :

dans l'exemple que tu as proposé, l'élève est présent à deux évaluations sur 3, et donc la somme de ses deux notes est divisée par deux.

S'il a eu 6, puis absent et 14, cela lui donne bien 10 de moyenne.

Mais ce n'est pas exactement ce que je cherche (la somme de la plage des tests "ne suffit pas") :

Par exemple, l'élève a 6 (mais sur 8!) puis absent (à une note notée sur 12), puis 14 sur 20.

Il faudrait que le calcul soit : 20*(6+14)/(8+20)

J'ajouterais donc une troisième colonne sur chaque feuille qui indique sur combien est la note (ici 8, 12, 20) et il me faudrait obtenir la somme 8+20 sans tenir compte du 12.

je ne sais pas si je suis très claire ?

Je n'ai pas réussi à adapter la formule avec sierreur...

merci !

Sylvie

Suite...

S. Listes wrote

Mais ce n'est pas exactement ce que je cherche (la somme de la plage des
tests "ne suffit pas") :

Par exemple, l'élève a 6 (mais sur 8!) puis absent (à une note notée sur
12), puis 14 sur 20.

Il faudrait que le calcul soit : 20*(6+14)/(8+20)

Je ne comprends pas pourquoi tu ne calcules pas la note sur 20 dans
chaque feuille, tu n'aurais plus de problème ?

Cordialement
Pierre-Yves

bonjour

Suite...

S. Listes wrote

Mais ce n'est pas exactement ce que je cherche (la somme de la plage des
tests "ne suffit pas") :

Par exemple, l'élève a 6 (mais sur 8!) puis absent (à une note notée sur
12), puis 14 sur 20.

Il faudrait que le calcul soit : 20*(6+14)/(8+20)

Je ne comprends pas pourquoi tu ne calcules pas la note sur 20 dans
chaque feuille, tu n'aurais plus de problème ?

oui, je comprends mais je voudrais tenir compte du "poids" de chaque note...
par exemple une compétence qui a été évaluée sur 18 est "plus représentative" que lorsqu'elle est évaluée seulement sur 3.
Si je ramène tout à 20, cela "nivellera" trop (en ce qui me concerne)
Avec ce que tu proposes, un 4 sur 18, suivi d'un 3 sur 3, donneraient respectivement (sur 20) 4,4 et 20, d'où une moyenne de 12,2
et moi j'aimerais que cela me donne 7 sur 21 (ou 6,67 sur 20)

mon exemple est bien sûr un peu caricatural...

merci de l'attention que tu portes à ma demande
cordialement
Sylvie

Suite...

En déplaçant le test sur le poids de la note.

DS.ods <http://nabble.documentfoundation.org/file/n4156488/DS.ods>

Cordialement
Pierre-Yves

bonjour

Suite...

En déplaçant le test sur le poids de la note.

DS.ods <http://nabble.documentfoundation.org/file/n4156488/DS.ods>

ça marche parfaitement sur l'exemple proposé, et je pense pouvoir l'appliquer à mon document

un grand merci (et j'admire la simplicité de la solution proposée)

cordialement
Sylvie Frieden