Sommes sur plage de cellules variables

Bonjour !

Je cherche à calculer une somme sur un nombre indéfini de cellules, pouvant varier de 2 à 10 par exemple. (voir fichier pour exemple)

J'ai une colonne avec toutes les valeurs susceptibles d'être utilisée, et je souhaite pouvoir calculer des sommes partielles pour un certain nombre de valeurs, qui se composent donc de séries variables.

Mon problème : Je peux ajouter manuellement un indicateur lors de la fin de la série, mais je suis obligé de définir à chaque fois la plage de cellules à considérer dans ma somme.

Je cherche donc à automatiser la détection du nombre de cellules à utiliser, en utilisant l'indicateur de fin de série.

• j'ai essayé un système pour détecter l'indicateur de la fin de ma série : SI(NB.VIDE(); ... ; ... ), l'utilisation de DECALER(), etc. Mais il me faut définir manuellement la plage à chaque fois...

• j'ai pensé à une solution avec des boucles, mais je souhaiterais pouvoir le faire sans VBA (que je ne maitrise pas, j'ai du m'y résoudre apres des essais infructueux). Est il possible de simuler ces boucles avec de simples fonctions ?

Merci !

ps : pour des raisons pratiques, je ne souhaites pas intégrer les sommes partielles dans la meme colonne que celle de mes données.

Bonsoir,

Pas très clair ton propos truffé d'expressions inutilement grandiloquentes dans le cas d'espèce ("série variable", "indicateurde fin de série",...) qui n'aboutissent qu'à rendre obscur ce que tu veux faire.

On dispose de formules pour faire exactement tout ce que tu veux de multiples façons, la seule incertitude c'est de définir ce que tu veux.

Cordialement

Ferrand

Bonjour,

si j'ai bien compris:

tu voudrais, en colonne B faire le total de la colonne A si dans celle-ci , tu as une suite de nombres identiques et donc ici faire le total des 2 "300" , des 2 "500" et des 2 "800" ? et ceci à la droite du dernier de chaque série de 2 ou + nombre ?

Ok.

Bon alors je n'utilise peut être pas les bons mots, l'exemple du fichier aide-t-il ?

J'ai une série de données, dans une colonne je veux faire des sommes partielles de cette série dans la colonne d'à coté, par exemple :

Donnée A1 + Donnée A2 = Somme en B2

Donnée A3 + Donnée A4 + Donnée A5 = Somme en B5

Sauf que je ne sais pas combien je vais avoir de données à additionner donc je ne peux pas faire SOMME(A1:A2), puis SOMME(A3:A5), .... à part définir manuellement les plages. Ce qui n'est pas très utiles vu le nombre de données.

Je souhaite donc une fonction me permettant de définir la plage SOMME(Ax:Ay). Pour ça, mon "indicateur", peut être une cellule remplie dans la colonne d'à coté permettant de définir la limite de cette plage (et donc le début de la suivante).

Avec des boucles, ce que je ne sais pas faire en VBA, je peux ajouter après (à coté) de la Donnée 2, une cellule contenant "fin de la série de données A", et je pourrais éventuellement faire quelque chose : loop until "fin de la donnée X" --> compter nombre de cellules --> faire la sommes du nombre de cellules" (une idée que je tiens de mes autres connaissances en programmation, pas de VBA)

Cependant, je voudrais éviter de passer par VBA.

Voilà, mieux ?

Merci !


@Patrick : Oui, voilà. D'autant plus simple que je ne cherche pas à le faire selon la nature des nombres, ils peuvent être différents.

Exemple : somme de 400 +600 +300 +300 (n = 4)

puis : 500 + 500 (n = 2)

Etc.

Dans le fichier exemple tu demandes un total après 2 x "300" mais sans tenir compte des "400" et 600" qui précèdent...

et ici tu mets:

Exemple : somme de 400 +600 +300 +300 (n = 4)

Je ne comprends pas bien non plus tout

Donc tu demandes un sous total finalement mais à quel moment exactement ?

Je pense de Mferrand pourras mieux t'aider que moi mais en macro alors

J'ai modifié le fichier d'exemple pour plus de clareté !

Ce que je veux, c'est avoir le résultat de la somme de chaque série colorée. Mais je ne peux pas définir manuellement la plage de la somme puisque je ne connais pas le nombre de valeurs qu'il y'aura (en orange), je cherche à le faire automatiquement avec une/des fonctions..

Merci beaucoup

Bonsoir,

En D3 :

=SI(C3="Total";SOMME($B$2:B3)-SOMME($D$2:D2);"")

à tirer vers le bas.

Chaque fois que tu mettras "Total" en C, tu auras en D le total depuis le total précédent.

Cordialement

@MFerrand :

Merci beaucoup, effectivement, cette solution me permet de résoudre le problème. Je vais la retravailler car j'avais simplifié un peu pour n'exposer que cette partie sur le forum ! En espérant que je puisse y arriver

Ce sujet est donc résolu.

Par ailleurs, des fois que j'aie besoin dans un cas différent un jour, il n'y a donc pas de formule, ou technique reproductible pour définir une plage de cellules autre que manuellement ?

Merci.

On peut nommer une plage... Mais dans ton cas tu traites des fractions de plage dont l'étendue dépend des traitements antérieurs. Il faut donc soit recalculer la plage (généralement avec DECALER ou une combinaison DECALER et INDIRECT) soit recalculer à partir des résultats renvoyés successivement (ce qui était le plus simple dans ce cas mais pas dans tous).

re,

si on avait un fichier avec des données anonymes mais la vraie structure ça aiderait...

s'il y a le mot "total" en colonne C, tu as eu la solution, mais si tu as bcp de données il faudra passer la vba pour plus rapidité

Patrick

Ok merci encore !

Rechercher des sujets similaires à "sommes plage variables"