OVH Cloud OVH Cloud

SOMME PROD et PETIT souci avec cette formule

12 réponses
Avatar
JEAN
Bonjour,

J'ai cette formules
SOMMEPROD((INDIRECT($E$4&"!H15:H200")=H15)*(INDIRECT($E$4&"!I15:I200")=I15)*(INDIRECT($E$4&"!K15:K200")=K15)*(INDIRECT($E$4&"!AC15:AC200")

je voudrai que cette formule me permette juste d'aller récuperer une valeur.
je ne voudrai pas qu'elle me fasse la somme quand je suis dans une autre
cellule d'une autre ligne qui du coup fausse mon calcul.
je voudrai ecrire cette formule de cette facon:

SOMMEPROD((INDIRECT($E$4&"!H15:H15")=H15)*(INDIRECT($E$4&"!I15:I15")=I15)*(INDIRECT($E$4&"!K15:K15")=K15)*(INDIRECT($E$4&"!AC15:AC15")

mais quand je tire mes lignes jusqu'a 200 j'aurai la meme formule,et le
souci c'est que j'aurai toujours !H15:H15 et !I15:I15 et !K15:K15 et
!AC15:AC15
comment contourner ceci pour avoir
a la ligne 16 par exemple
SOMMEPROD((INDIRECT($E$4&"!H16:H16")=H16)*(INDIRECT($E$4&"!I16:I16")=I16)*(INDIRECT($E$4&"!K16:K16")=K16)*(INDIRECT($E$4&"!AC16:AC16")
et ainsi de suite jusqu'a 200

merci de votre aide

10 réponses

1 2
Avatar
Pierre CFI [mvp]
bonjour
au tout début de l'apprentissage d'excel, on parle de relatif et d'absolu. c'est pas bon de sauter des classes en copiant sans rien
comprendre :o))
Que tu cherches des infos ici, au contraire, mais essaie de comprendre avant d'aller plus loin

--
Pierre CFI
MVP Microsoft Access
Avatar
JEAN
mais si j'ai compris, mais dans H15:H200
j'ai pas mis de $

quelqu'un peut m'aider

svp


bonjour
au tout début de l'apprentissage d'excel, on parle de relatif et d'absolu. c'est pas bon de sauter des classes en copiant sans rien
comprendre :o))
Que tu cherches des infos ici, au contraire, mais essaie de comprendre avant d'aller plus loin

--
Pierre CFI
MVP Microsoft Access





Avatar
Pierre CFI [mvp]
oui, mais quand c'est dans des " ", çà veut dire quoi ?

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

"JEAN" a écrit dans le message de news:
mais si j'ai compris, mais dans H15:H200
j'ai pas mis de $

quelqu'un peut m'aider

svp


bonjour
au tout début de l'apprentissage d'excel, on parle de relatif et d'absolu. c'est pas bon de sauter des classes en copiant sans
rien


comprendre :o))
Que tu cherches des infos ici, au contraire, mais essaie de comprendre avant d'aller plus loin

--
Pierre CFI
MVP Microsoft Access







Avatar
JEAN
au fait
au fait le nom de ma feuille correspond à la valeur dans E4
donc cette ligne:
INDIRECT($E$4&"!H16:H200")

veut dire la feuille dont le nom est la valeur de E4 et j'ai mis des guimets
pour avoir supposons que j'ai dans E4 30.11.2004

j'aurai 30.11.2004!H16:H200

mais la fonction sommeprod me fait la somme a chaque fois, mais moi je
voudrai juste recuperer la valeur quand je passe d'une ligne à une autre et
pas me faire la somme merci

y'a t'il une autre fonction§?

merci

oui, mais quand c'est dans des " ", çà veut dire quoi ?

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

"JEAN" a écrit dans le message de news:
mais si j'ai compris, mais dans H15:H200
j'ai pas mis de $

quelqu'un peut m'aider

svp


bonjour
au tout début de l'apprentissage d'excel, on parle de relatif et d'absolu. c'est pas bon de sauter des classes en copiant sans
rien


comprendre :o))
Que tu cherches des infos ici, au contraire, mais essaie de comprendre avant d'aller plus loin

--
Pierre CFI
MVP Microsoft Access












Avatar
FxM
Bonjour,

!H15:H15
La plage de cellules allant de H15 à H15 me semble être la cellule H15

elle-même, non ? On peut donc simplifier par :
!H15


indirect(...) a l'avantage de ne pas modifier (...) puisque (...) n'est
plus considéré comme une adresse. Si le numéro de ligne doit évoluer, il
faut introduire la fonction ligne() dans l'indirect
ligne(H15) renvoit 15

En ligne 15, la partie de formule
(INDIRECT($E$4&"!H15:H15")=H15)
peut donc être remplacée par :
(INDIRECT($E$4&"!H" & ligne())=H15)

Je te laisse adapter la formule complète.
Fais bien attention aux parenthèses.

@+
FxM





Bonjour,

J'ai cette formules:
SOMMEPROD((INDIRECT($E$4&"!H15:H200")=H15)*(INDIRECT($E$4&"!I15:I200")=I15)*(INDIRECT($E$4&"!K15:K200")=K15)*(INDIRECT($E$4&"!AC15:AC200")

je voudrai que cette formule me permette juste d'aller récuperer une valeur.
je ne voudrai pas qu'elle me fasse la somme quand je suis dans une autre
cellule d'une autre ligne qui du coup fausse mon calcul.
je voudrai ecrire cette formule de cette facon:

SOMMEPROD((INDIRECT($E$4&"!H15:H15")=H15)*(INDIRECT($E$4&"!I15:I15")=I15)*(INDIRECT($E$4&"!K15:K15")=K15)*(INDIRECT($E$4&"!AC15:AC15")

mais quand je tire mes lignes jusqu'a 200 j'aurai la meme formule,et le
souci c'est que j'aurai toujours !H15:H15 et !I15:I15 et !K15:K15 et
!AC15:AC15
comment contourner ceci pour avoir
a la ligne 16 par exemple:
SOMMEPROD((INDIRECT($E$4&"!H16:H16")=H16)*(INDIRECT($E$4&"!I16:I16")=I16)*(INDIRECT($E$4&"!K16:K16")=K16)*(INDIRECT($E$4&"!AC16:AC16")
et ainsi de suite jusqu'a 200

merci de votre aide




Avatar
JEAN
non c'est pas ca que je souhaite,
regarde la question "pour récuperer une valeur dans un tableau d'une autre
feuille" sur le forum stp

merci


Bonjour,

!H15:H15
La plage de cellules allant de H15 à H15 me semble être la cellule H15

elle-même, non ? On peut donc simplifier par :
!H15


indirect(...) a l'avantage de ne pas modifier (...) puisque (...) n'est
plus considéré comme une adresse. Si le numéro de ligne doit évoluer, il
faut introduire la fonction ligne() dans l'indirect
ligne(H15) renvoit 15

En ligne 15, la partie de formule
(INDIRECT($E$4&"!H15:H15")=H15)
peut donc être remplacée par :
(INDIRECT($E$4&"!H" & ligne())=H15)

Je te laisse adapter la formule complète.
Fais bien attention aux parenthèses.

@+
FxM





Bonjour,

J'ai cette formules:
SOMMEPROD((INDIRECT($E$4&"!H15:H200")=H15)*(INDIRECT($E$4&"!I15:I200")=I15)*(INDIRECT($E$4&"!K15:K200")=K15)*(INDIRECT($E$4&"!AC15:AC200")

je voudrai que cette formule me permette juste d'aller récuperer une valeur.
je ne voudrai pas qu'elle me fasse la somme quand je suis dans une autre
cellule d'une autre ligne qui du coup fausse mon calcul.
je voudrai ecrire cette formule de cette facon:

SOMMEPROD((INDIRECT($E$4&"!H15:H15")=H15)*(INDIRECT($E$4&"!I15:I15")=I15)*(INDIRECT($E$4&"!K15:K15")=K15)*(INDIRECT($E$4&"!AC15:AC15")

mais quand je tire mes lignes jusqu'a 200 j'aurai la meme formule,et le
souci c'est que j'aurai toujours !H15:H15 et !I15:I15 et !K15:K15 et
!AC15:AC15
comment contourner ceci pour avoir
a la ligne 16 par exemple:
SOMMEPROD((INDIRECT($E$4&"!H16:H16")=H16)*(INDIRECT($E$4&"!I16:I16")=I16)*(INDIRECT($E$4&"!K16:K16")=K16)*(INDIRECT($E$4&"!AC16:AC16")
et ainsi de suite jusqu'a 200

merci de votre aide







Avatar
FxM
Si tu n'ouvrais pas plusieurs ficelles ...
Cela a écrit un certain nombre de fois, non ??

Ta question est :
"je voudrais récuperer dans une colonne LA valeur de ..."

Le mot important est : *LA*

Si tu n'as qu'une valeur répondant aux critères, sommeprod(...) fait la
somme d'une ligne et c'est donc la valeur recherchée.
Si sommeprod(...) te renvoit une somme qui n'est pas la valeur que tu
cherches, cela implique qu'il y a plusieurs lignes qui répondent aux
critères et toutes les valeurs sont additionnées.

Question dans ce deuxième cas :
Comment est-ce que moi (neuneu basique de base) je peux savoir comment
la valeur à retourner si plusieurs lignes répondent aux critères que tu
indiques ? Pour les divinations, jette un oeil sur http://www.vatican.va

Un point qui peut t'intéresser : l'unique formule avec laquelle tu te
bats actuellement produit à elle seule près de 10000 calculs.

@+
FxM





non c'est pas ca que je souhaite,
regarde la question "pour récuperer une valeur dans un tableau d'une autre
feuille" sur le forum stp

merci



Bonjour,

!H15:H15
La plage de cellules allant de H15 à H15 me semble être la cellule H15

elle-même, non ? On peut donc simplifier par :
!H15


indirect(...) a l'avantage de ne pas modifier (...) puisque (...) n'est
plus considéré comme une adresse. Si le numéro de ligne doit évoluer, il
faut introduire la fonction ligne() dans l'indirect
ligne(H15) renvoit 15

En ligne 15, la partie de formule
(INDIRECT($E$4&"!H15:H15")=H15)
peut donc être remplacée par :
(INDIRECT($E$4&"!H" & ligne())=H15)

Je te laisse adapter la formule complète.
Fais bien attention aux parenthèses.

@+
FxM






Bonjour,

J'ai cette formules:
SOMMEPROD((INDIRECT($E$4&"!H15:H200")=H15)*(INDIRECT($E$4&"!I15:I200")=I15)*(INDIRECT($E$4&"!K15:K200")=K15)*(INDIRECT($E$4&"!AC15:AC200")

je voudrai que cette formule me permette juste d'aller récuperer une valeur.
je ne voudrai pas qu'elle me fasse la somme quand je suis dans une autre
cellule d'une autre ligne qui du coup fausse mon calcul.
je voudrai ecrire cette formule de cette facon:

SOMMEPROD((INDIRECT($E$4&"!H15:H15")=H15)*(INDIRECT($E$4&"!I15:I15")=I15)*(INDIRECT($E$4&"!K15:K15")=K15)*(INDIRECT($E$4&"!AC15:AC15")

mais quand je tire mes lignes jusqu'a 200 j'aurai la meme formule,et le
souci c'est que j'aurai toujours !H15:H15 et !I15:I15 et !K15:K15 et
!AC15:AC15
comment contourner ceci pour avoir
a la ligne 16 par exemple:
SOMMEPROD((INDIRECT($E$4&"!H16:H16")=H16)*(INDIRECT($E$4&"!I16:I16")=I16)*(INDIRECT($E$4&"!K16:K16")=K16)*(INDIRECT($E$4&"!AC16:AC16")
et ainsi de suite jusqu'a 200

merci de votre aide









Avatar
JEAN
justement
quand tu dit : "
Si sommeprod(...) te renvoit une somme qui n'est pas la valeur que tu
cherches, cela implique qu'il y a plusieurs lignes qui répondent aux
critères et toutes les valeurs sont additionnées. "

tout a fait il y a plusieurs lignes qui repondent aux criteres, et donc j'ai
la somme
mais du coup c'est ce que je veux savoir c'est comment contourner ceci, meme
si j'ai plusieurs lignes avec les meme criteres, je ne voudrai pas faire la
somme

as tu une idée?
merci





Si tu n'ouvrais pas plusieurs ficelles ...
Cela a écrit un certain nombre de fois, non ??

Ta question est :
"je voudrais récuperer dans une colonne LA valeur de ..."

Le mot important est : *LA*

Si tu n'as qu'une valeur répondant aux critères, sommeprod(...) fait la
somme d'une ligne et c'est donc la valeur recherchée.
Si sommeprod(...) te renvoit une somme qui n'est pas la valeur que tu
cherches, cela implique qu'il y a plusieurs lignes qui répondent aux
critères et toutes les valeurs sont additionnées.

Question dans ce deuxième cas :
Comment est-ce que moi (neuneu basique de base) je peux savoir comment
la valeur à retourner si plusieurs lignes répondent aux critères que tu
indiques ? Pour les divinations, jette un oeil sur http://www.vatican.va

Un point qui peut t'intéresser : l'unique formule avec laquelle tu te
bats actuellement produit à elle seule près de 10000 calculs.

@+
FxM





non c'est pas ca que je souhaite,
regarde la question "pour récuperer une valeur dans un tableau d'une autre
feuille" sur le forum stp

merci



Bonjour,

!H15:H15
La plage de cellules allant de H15 à H15 me semble être la cellule H15

elle-même, non ? On peut donc simplifier par :
!H15


indirect(...) a l'avantage de ne pas modifier (...) puisque (...) n'est
plus considéré comme une adresse. Si le numéro de ligne doit évoluer, il
faut introduire la fonction ligne() dans l'indirect
ligne(H15) renvoit 15

En ligne 15, la partie de formule
(INDIRECT($E$4&"!H15:H15")=H15)
peut donc être remplacée par :
(INDIRECT($E$4&"!H" & ligne())=H15)

Je te laisse adapter la formule complète.
Fais bien attention aux parenthèses.

@+
FxM






Bonjour,

J'ai cette formules:
SOMMEPROD((INDIRECT($E$4&"!H15:H200")=H15)*(INDIRECT($E$4&"!I15:I200")=I15)*(INDIRECT($E$4&"!K15:K200")=K15)*(INDIRECT($E$4&"!AC15:AC200")

je voudrai que cette formule me permette juste d'aller récuperer une valeur.
je ne voudrai pas qu'elle me fasse la somme quand je suis dans une autre
cellule d'une autre ligne qui du coup fausse mon calcul.
je voudrai ecrire cette formule de cette facon:

SOMMEPROD((INDIRECT($E$4&"!H15:H15")=H15)*(INDIRECT($E$4&"!I15:I15")=I15)*(INDIRECT($E$4&"!K15:K15")=K15)*(INDIRECT($E$4&"!AC15:AC15")

mais quand je tire mes lignes jusqu'a 200 j'aurai la meme formule,et le
souci c'est que j'aurai toujours !H15:H15 et !I15:I15 et !K15:K15 et
!AC15:AC15
comment contourner ceci pour avoir
a la ligne 16 par exemple:
SOMMEPROD((INDIRECT($E$4&"!H16:H16")=H16)*(INDIRECT($E$4&"!I16:I16")=I16)*(INDIRECT($E$4&"!K16:K16")=K16)*(INDIRECT($E$4&"!AC16:AC16")
et ainsi de suite jusqu'a 200

merci de votre aide












Avatar
Starwing
Bonjour JEAN,

La formule en C15:

=((INDIRECT($E$4&"!H"&LIGNE())=H15)*(INDIRECT($E$4&"!
I"&LIGNE())=I15)*(INDIRECT($E$4&"!K"&LIGNE())=K15)*
(INDIRECT($E$4&"!AC"&LIGNE())))


Starwing
Avatar
JEAN
oui starwing cette fonction fait exactement la meme chose que somme prod a
part qu'elle ne fait pas la somme quand je passe à une autre ligne?

est ce que c'est ca?

merci

"Starwing" wrote:

Bonjour JEAN,

La formule en C15:

=((INDIRECT($E$4&"!H"&LIGNE())=H15)*(INDIRECT($E$4&"!
I"&LIGNE())=I15)*(INDIRECT($E$4&"!K"&LIGNE())=K15)*
(INDIRECT($E$4&"!AC"&LIGNE())))


Starwing





1 2