OVH Cloud OVH Cloud

Difficultés avec SOMMEPROD

6 réponses
Avatar
Deedooz
Bonjour,

J'ai 13 feuilles dans mon classeur Excel.
Pour chaque feuille 1 à 12, j'ai 2 plages (A8:A78 et B8:B78) pour lequelles
j'ai donné les noms
feuille 1 : toto1 et tutu1
feuille 2 : toto2 et tutu2
...
feuille12 : toto12 et tutu12

Sur ma 13eme feuille s'affiche par une petite macro les noms totox et tutux
correspondants en fonction de mon choix , et ce dans les cellules N28 pour
totox et P28 pour tutux.

Lorsque j'ecris ma fonction {=sommeprod((toto1=$C31)*(tutu1=$D31))}
J'ai bien le résultat escompté : il me trouve bien le nbre d'enregistrement
définis par les critères en C31 et D31 dans les plages définies de ma
feuille 1.

Mais quand j'ecris {=sommeprod((N28=$C31)*(P28=$D31))}
Alors la ca ne marche plus...alors que N28 et P28 comprennent bien les
valeurs toto1 et tutu1 a ce moment.... Quel est le problème ??

Comment puis-je faire ?

Merci

6 réponses

Avatar
Ricky
Bonjour *Deedooz*

N28 ne peut pas contenir totox puisque celui-ci représente toute la plage A8:A78
Donc que contient N28 ?

A moins que je n'aie rien compris ...


| Bonjour,
|
| J'ai 13 feuilles dans mon classeur Excel.
| Pour chaque feuille 1 à 12, j'ai 2 plages (A8:A78 et B8:B78) pour
| lequelles j'ai donné les noms
| feuille 1 : toto1 et tutu1
| feuille 2 : toto2 et tutu2
| ...
| feuille12 : toto12 et tutu12
|
| Sur ma 13eme feuille s'affiche par une petite macro les noms totox et
| tutux correspondants en fonction de mon choix , et ce dans les
| cellules N28 pour totox et P28 pour tutux.
|
| Lorsque j'ecris ma fonction {=sommeprod((toto1=$C31)*(tutu1=$D31))}
| J'ai bien le résultat escompté : il me trouve bien le nbre
| d'enregistrement définis par les critères en C31 et D31 dans les
| plages définies de ma feuille 1.
|
| Mais quand j'ecris {=sommeprod((N28=$C31)*(P28=$D31))}
| Alors la ca ne marche plus...alors que N28 et P28 comprennent bien les
| valeurs toto1 et tutu1 a ce moment.... Quel est le problème ??
|
| Comment puis-je faire ?
|
| Merci

--
Ricky [MVP] Visitez les faq....
http://www.faqoe.com http://faqword.free.fr
http://dj.joss.free.fr/faq.htm http://www.excelabo.net
Avatar
Deedooz
Bonjour Ricky

ma cases N28 contient le Nom que j'ai préalablement défini dans mes feuilles
1 à 12 (Insertion / Nom / Definir)
toto1 c'est le nom donné à la plage A8:A78 de ma feuil1
toto2 c'est le nom donné à la plge A8:A78 de ma feuil2
...
Idem pour les noms tutu
En fonction du résultat d'une petite macro, ma cellule N28 contiendra la
valeur de toto correspondante.
Dans l'exemple choisi, N28 contient la valeur "toto1"


"Ricky" a écrit dans le message de
news:
Bonjour *Deedooz*

N28 ne peut pas contenir totox puisque celui-ci représente toute la plage
A8:A78

Donc que contient N28 ?

A moins que je n'aie rien compris ...


| Bonjour,
|
| J'ai 13 feuilles dans mon classeur Excel.
| Pour chaque feuille 1 à 12, j'ai 2 plages (A8:A78 et B8:B78) pour
| lequelles j'ai donné les noms
| feuille 1 : toto1 et tutu1
| feuille 2 : toto2 et tutu2
| ...
| feuille12 : toto12 et tutu12
|
| Sur ma 13eme feuille s'affiche par une petite macro les noms totox et
| tutux correspondants en fonction de mon choix , et ce dans les
| cellules N28 pour totox et P28 pour tutux.
|
| Lorsque j'ecris ma fonction {=sommeprod((toto1=$C31)*(tutu1=$D31))}
| J'ai bien le résultat escompté : il me trouve bien le nbre
| d'enregistrement définis par les critères en C31 et D31 dans les
| plages définies de ma feuille 1.
|
| Mais quand j'ecris {=sommeprod((N28=$C31)*(P28=$D31))}
| Alors la ca ne marche plus...alors que N28 et P28 comprennent bien les
| valeurs toto1 et tutu1 a ce moment.... Quel est le problème ??
|
| Comment puis-je faire ?
|
| Merci

--
Ricky [MVP] Visitez les faq....
http://www.faqoe.com http://faqword.free.fr
http://dj.joss.free.fr/faq.htm http://www.excelabo.net




Avatar
Deedooz
J'ai trouvé ma réponse : il suffisait d'ajouter INDIRECT
{=sommeprod((INDIRECT(N28)=$C31)*(INDIRECT(P28)=$D31))}


"Deedooz" a écrit dans le message de
news:


Bonjour,

J'ai 13 feuilles dans mon classeur Excel.
Pour chaque feuille 1 à 12, j'ai 2 plages (A8:A78 et B8:B78) pour
lequelles

j'ai donné les noms
feuille 1 : toto1 et tutu1
feuille 2 : toto2 et tutu2
...
feuille12 : toto12 et tutu12

Sur ma 13eme feuille s'affiche par une petite macro les noms totox et
tutux

correspondants en fonction de mon choix , et ce dans les cellules N28 pour
totox et P28 pour tutux.

Lorsque j'ecris ma fonction {=sommeprod((toto1=$C31)*(tutu1=$D31))}
J'ai bien le résultat escompté : il me trouve bien le nbre
d'enregistrement

définis par les critères en C31 et D31 dans les plages définies de ma
feuille 1.

Mais quand j'ecris {=sommeprod((N28=$C31)*(P28=$D31))}
Alors la ca ne marche plus...alors que N28 et P28 comprennent bien les
valeurs toto1 et tutu1 a ce moment.... Quel est le problème ??

Comment puis-je faire ?

Merci






Avatar
Alain CROS
Bonjour.

=SOMMEPROD((INDIRECT(N28)=$C31)*(INDIRECT(P28)=$D31))
Pas de matricielle.

Alain CROS

"Deedooz" a écrit dans le message de news: #
|
| Bonjour Ricky
|
| ma cases N28 contient le Nom que j'ai préalablement défini dans mes feuilles
| 1 à 12 (Insertion / Nom / Definir)
| toto1 c'est le nom donné à la plage A8:A78 de ma feuil1
| toto2 c'est le nom donné à la plge A8:A78 de ma feuil2
| ...
| Idem pour les noms tutu
| En fonction du résultat d'une petite macro, ma cellule N28 contiendra la
| valeur de toto correspondante.
| Dans l'exemple choisi, N28 contient la valeur "toto1"
|
Avatar
Deedooz
Merci Alain,

Je venait tout juste de trouver la réponse, c'etait bien cette histoire
d'INDIRECT :)


"Alain CROS" a écrit dans le message de
news:

Bonjour.

=SOMMEPROD((INDIRECT(N28)=$C31)*(INDIRECT(P28)=$D31))
Pas de matricielle.

Alain CROS

"Deedooz" a écrit dans le message de news:
#

|
| Bonjour Ricky
|
| ma cases N28 contient le Nom que j'ai préalablement défini dans mes
feuilles

| 1 à 12 (Insertion / Nom / Definir)
| toto1 c'est le nom donné à la plage A8:A78 de ma feuil1
| toto2 c'est le nom donné à la plge A8:A78 de ma feuil2
| ...
| Idem pour les noms tutu
| En fonction du résultat d'une petite macro, ma cellule N28 contiendra la
| valeur de toto correspondante.
| Dans l'exemple choisi, N28 contient la valeur "toto1"
|






Avatar
Ricky
Bonjour *Deedooz*
| Bonjour Ricky
|
| ma cases N28 contient le Nom que j'ai préalablement défini dans mes
| feuilles 1 à 12 (Insertion / Nom / Definir)
| toto1 c'est le nom donné à la plage A8:A78 de ma feuil1
| toto2 c'est le nom donné à la plge A8:A78 de ma feuil2

Désolé j'avais pas compris. Faut me pardonner, c'était trop tôt pour un samedi ;)

--
Ricky [MVP] Visitez les faq....
http://www.faqoe.com http://faqword.free.fr
http://dj.joss.free.fr/faq.htm http://www.excelabo.net