SOMMEPROD avec plage construite

Bonjour,

Je construis la plage visée par le SOMMEPROD et j"obtiens ceci dans la cellule A44 "$M$5:$M$40;$AD$5:$AD$40" (sans les quotes).

J'utilise

=SOMMEPROD(INDIRECT(A44))

mais je reçois une erreur de référence.

Je suis obligé de construire la plage car celle-ci est variable aussi bien pour son origine que pour sa fin.

Que fais-je mal pour que cela ne fonctionne pas ? Ou, si quelqu'un pouvait m'indiquer comment construire proprement une plage utilisable dans SOMMEPROD.

Merci d'avance pour votre aide ou pour les pistes à investiguer.

Dan

Bonjour et bienvenu(e),

Tu peux peut-être commencer par joindre un petit classeur représentatif.

Cdlt.

Bonjour Jean-Eric,

Merci de te pencher sur mon problème.

je joins un fichier exemple. En fait, il s'agit de planification de stocks avec des opérations qui peuvent varier en nombre et en temps au cours d'une année. Le tableau joint est sensé être répété plusieurs fois pour les années futures, avec certaines informations de synthèses sous celui-ci, après chaque année.

Dans l'exemple joint, j'essaie d'obtenir par sommeprod() en A46 le même résultat qu'en B46. Le calcul de la plage dynamique est réalisé en A44.

Quelque chose doit m'échapper mais je ne sais pas quoi.

Merci d'avance.

Dan

GBW067 a écrit :

Je suis obligé de construire la plage car celle-ci est variable aussi bien pour son origine que pour sa fin.

Bonjour Dan,

SOMMEPROD permet d'intégrer les conditions que tu mets dans ta définition de plage !

=SOMMEPROD((C5:C40>=DATE(2016;1;1))*(C5:C40<=DATE(2016;12;31))*(M5:M40)*(R5:R40))

SOMMEPROD est en soi une fonction matricielle.

(C5:C40>=DATE(2016;1;1)) va créer une matrice de VRAI/FAUX, ou de 1/0


le fin du fin est de mettre sous forme de tableau

=SOMMEPROD((Tableau2[Date Opération]>=DATE(2016;1;1))*(Tableau2[Date Opération]<=DATE(2016;12;31))*(Tableau2[Feed])*(Tableau2[MAD]))

Bonjour Steelson,

Merci de t'intéresser à mon problème.

L'exemple donner avait pour but d'illustrer la difficulté de passer une plage construite de deux matrices à SOMMEPROD().

La condition de sélection est basique ici, le fichier en exploitation est bien plus complexe, les conditions de sélection le sont aussi. Elle sont exprimées sous forme de conditions (simples ou imbriquées) dont le résultat retourne 1,-1 ou 0 (le -1 c'est pour tenir compte des quantités négatives dans le SOMMEPROD() ).

Mais je garde ton aide pour une utilisation ultérieure si le besoin s'en fait sentir.

Bon après-midi.

Dan

Jusqu'à présent, le seul pis-aller que j'ai trouvé c'est de nommer des plages mais c'est moyennement satisfaisant car certaines colonnes requises seront cachées en exploitation et la feuille de calcul devra être utilisable par tout un chacun sans avoir à "mettre la main dans le cambouis", d'où ma recherche sur le repérage automatique du stock en fin d'année N-1 jusqu'à la dernière ligne de l'année N, en sachant que plusieurs opérations peuvent intervenir le même jour, et spécialement le 31/12 d'une année quelconque.

C'est cette dernière contrainte qui m'a orienté vers l'usage de DECALER() pour déterminer la fin de la plage à considérer, les lignes devant afficher les résultats des SOMMEPROD() étant toujours situées aux mêmes endroits sous le tableau annuel.

GBW067 a écrit :

...d'où ma recherche sur le repérage automatique du stock en fin d'année N-1 jusqu'à la dernière ligne de l'année N, en sachant que plusieurs opérations peuvent intervenir le même jour, et spécialement le 31/12 d'une année quelconque.

C'est cette dernière contrainte qui m'a orienté vers l'usage de DECALER() pour déterminer la fin de la plage à considérer, les lignes devant afficher les résultats des SOMMEPROD() étant toujours situées aux mêmes endroits sous le tableau annuel.

Tu peux toujours insérer la fonction DECALER dans le SOMMEPROD, mais je pense quand même qu'avec SOMMEPROD on s'en sort sans le DECALER, avec une condition sur la date.

Une autre façon de faire est de créer ta plage dynamique avec un nom ... dynamique dans Formules > Gestionnaire de noms

Bonjour Steelson,

Merci de tes réponses. Pour le dynamisme, je suis arrivé à une situation plutôt satisfaisante.

Le seul problème qui subsiste est comment passer la plage construite par CONCATENER() (en A44 dans mon exemple) à SOMMEPROD() pour que je n'obtienne par une erreur de référence.

J'ai essayé de passer la plage construite à SOMMPROD() en utilisant INDIRECT(A4) mais cela indique une erreur de référence.

Merci de t'intéresser à mon problème.

Bonne journée.

Dan

Bonjour,

décompose ton calcul en 2 parties ...

Bonjour,

Merci, j'étais arrivé à la même solution au cours de mes recherches ce matin. Il faut créer chaque matrice indépendamment et les utiliser avec INDIRECT().

J'aurais encore besoin d'une petite aide afin de vraiment arriver au résultat escompté.

Comment puis-je récupérer le nom de colonne dans une formule ? Je m'explique, je voudrais rendre ma formule CONCATENER() indépendante de le colonne où elle se trouve. Supposons que ma formule se trouve en colonne M et que dans les arguments de CONCATENER() j'aie en dur la chaîne "$M$", je voudrais arriver à ce que cela soit modifié en "$N$" si je rajoute une colonne à gauche par exemple. Je n'arrive pas à récupérer cette référence de colonne.

As-tu une idée ?

Dan


Je me réponds à moi-même concernant le nom de la colonne.

Il faut utiliser la formule suivante :

=SI(COLONNE()>26;CAR(ENT((COLONNE()-1)/26)+64);"") & CAR(MOD(COLONNE()-1;26)+65)

C'est lourd mais apparemment cela marche....

GBW067 a écrit :

C'est lourd mais apparemment cela marche....

... en effet ! Mais c'est un bon exercice pour expérimenter les DECALER, INDIRECT, EQUIV, COLONNE, MOD, CAR ... Bravo !

Maintenant, il faut revenir à des choses plus simples : ce que tu fais n'est rien d'autre qu'un TCD !

Bonjour,

Cela pourrait être un TCD s'il n'y avait pas d'autres données et calculs. Sans compter la disposition imposée de lignes de mouvements dans une même année N suivies des lignes des différents totaux et calculs, suivies à leur tour des mêmes infos pour l'année N+1.

A bientôt.

Dan

Rechercher des sujets similaires à "sommeprod plage construite"