Problème avec une SOMMEPROD

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 !

Etienne2323

XLDnaute Impliqué
Bonjour à tous,
j'ai un problème actuellement avec une formule sommeprod. Lorsque je modifie ma sommeprod pour y intégrer un Indirect(Concatener( ... , Excel me renvoie soit une erreur, soit un 0%.

Ce que je cherche à faire, c'est de créer une formule sommeprod qui serait en mesure de déterminer la première et la dernière ligne de ma plage (de la les Equiv(min) et Equiv(max) sur la colonne A), ainsi que les bonnes colonnes, sans avoir à les nommer.

Les infos sont dans le petit fichier joint. Les cellules qui me posent problème sont en jaune. La cellule en orange explique la formule utilisée.

Est-ce que l'un d'entre-vous pourrait m'expliquer la cause du problème ainsi que comment le résoudre ?

Merci beaucoup,

Étienne
 

Pièces jointes

Dernière édition:
Re : Problème avec une SOMMEPROD

Salut Etienne 🙂

A première vue, le problème est du côté des Min et Max pour trouver les numéros de ligne ...
car Sommeprod() ne peut travailler que sur des plages définies ... donc pas de colonnes entières ...

A +
🙂
 
Re : Problème avec une SOMMEPROD

Salut James, le forum,
je suis tout-à-fait d'accord avec ton affirmation. Par contre, je croyais avoir réussi à faire ça. Si tu te réfères à la formule en J1, celle en orange, tu remarqueras que j'arrive à définir ma plage. Voici concrètement les étapes de mon raisonnement :
1) Pour récupérer la lettre de ma colonne
=GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1)
2) Pour récupérer la première ligne de ma plage :
Code:
=EQUIV(MIN(A:A);A:A;0)
3) Pour récupérer la dernière ligne de ma plage :
Code:
=EQUIV(MAX($A:$A);$A:$A;0)
4) Je concatene tout ça pour avoir tout ça dans la même formule sous forme de texte.
Code:
=CONCATENER(GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1);EQUIV(MIN(A:A);A:A;0);":";GAUCHE(ADRESSE(1;COLONNE();4);NBCAR(ADRESSE(1;COLONNE();4))-1);EQUIV(MAX($A:$A);$A:$A;0))

Ensuite, en intégrant un indirect(concatener, je devrais normalement ramener le concatener en format compréhensible pour Excel non ?

Même concept que ceci (qui fonctionne bien) ?
Code:
=SOMMEPROD(INDIRECT("B7:B20");INDIRECT("D7:D20"))

Est-ce qu'il y a quelque chose que je ne vois pas ?

Merci encore James, et tous ceux qui passeront par ici,

Cordialement,

Étienne
 
Re : Problème avec une SOMMEPROD

Re Etienne,

J'ai dû mal m'exprimer ... ce sont tes points 2 et 3, dans lesquels justement tu utilises toute la colonne A ... et qui vont se retrouver à l'intérieur de la fonction sommeprod() ...

Dès que j'ai un moment, je vais tester cela ...

A+
🙂
 
Re : Problème avec une SOMMEPROD

Bonsoir le fil 🙂,
Pour simplifier ta concaténation, tu peux faire ainsi
Code:
=CAR(COLONNE()+64)&EQUIV(MIN($A:$A);$A:$A;0)&":"&CAR(COLONNE()+64)&EQUIV(MAX($A:$A);$A:$A;0)
mais ensuite, autant si je place cette formule dans les colonnes et que j'utilise INDIRECT pour les rassembler (voir fichier joint) ça fonctionne, autant effectivement le SOMMEPROD ne les supporte pas. James à certainement raison sur le fait que c'est les MIN et MAX qui sont pas supportés par SOMMEPROD (j'ai essayé une plage A1:A100 et ça plante aussi...)
Bon courage 😎
 

Pièces jointes

Re : Problème avec une SOMMEPROD

Bonsoir JNP, James, le forum,

@ JNP : Merci pour la simplification de la formule. C'est très efficace, comme toujours !

Je lance une idée comme ça. Est-ce que le fait de nommer les plages de cellules pourrait régler le problème ? Par exemple : SOMMEPROD(Plage_Poids;Plage_Rendement) et la formule indirect se trouve directement dans le nom de la plage de cellules ?

Je vais essayer.

Sinon, pour l'instant, la solution de JNP fonctionne. C'est certain que d'avoir à passer par 3 cellules pour trouver un résultat, ce n'est pas l'idéal, mais au moins ça fonctionne.

Merci,

Étienne
 
Re : Problème avec une SOMMEPROD

Rebonsoir à tous,
voici donc le résultat avec des plages de cellules nommées. Cela fonctionne. C'est quand même très bizarre puisque les formules employées sont exactement les mêmes.

Merci beaucoup James et JNP, vous m'avez permis de faire un grand pas en avant aujourd'hui.

Au plaisir de vous recroiser,

Cordialement,

Étienne
 

Pièces jointes

- 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

Retour