Somme d'un nombre variable de données

Bonjour à tous,

Je joue à un jeu en ligne de gestion de monde: vous récoltez des ressources qui vous permettent de construire des bâtiments.

Je me suis fabriqué un classeur Excel pour faciliter ma gestion et je souhaite lui apporter une amélioration importante mais j'aurais besoin de votre aide pour franchir ce cap, en espérant que cela soit possible.

Le problème est assez simple mais risque d'être compliqué à exposer. Aussi, si vous pensez pouvoir m'aider, je vous recommande vivement de jeter un œil à la feuille ci-jointe qui rendra mes explications plus claires.

La feuille ci-jointe est composée de trois tableaux:

- le deuxième et le troisième sont assez clairs et ne font que reprendre le nombre de ressources nécessaires à construire deux bâtiments. Ces deux bâtiments ont le même effet sur l'ensemble de la ville (augmenter la population) mais dans des proportions et pour des coûts différents.

- le premier liste établit un rapport de rentabilité entre les deux bâtiments pour chacune de mes douze villes et c'est ce dernier que je cherche à optimiser. Je cherche à faire un lien direct, pour chaque colonne, entre les lignes 3 et 7 et les lignes 9 et 10, d'une part et entre les lignes 4 et 8 et les lignes 11 et 12, d'autre part. Mais pour les deux cas, il s'agira du même type de formule transposé.

Prenons l'exemple de la taverne (l3, l7 et l9, l10):

  • la ligne 3 donne le niveau actuel du bâtiment;
  • la ligne 7 donne le nombre de niveau que je devrai construire pour atteindre mon palier.
  • pour l'instant, je fais le calcul "à la main" pour chaque case des lignes 9 et 10 et je voudrais que ce calcul soit automatique.

Voici la marche qui j'aimerais suivre:

  • je relève le nombre X de la ligne 7;
  • je relève le nombre Y de la ligne 3;
  • je vais chercher dans mon tableau le nombre correspondant à Y+1 (coût du niveau suivant) dans les colonnes B et D.
  • j'additionne, à partir de cette ligne X cases en descendant vers le bas du tableau.

Dans le tableau, j'ai renseigné comme il le fallait, mais sans automatisme, la première ville (j'ai effacé les autres données car elles ne correspondaient plus à l'état actuel de mon jeu (dans mon tableau original, les niveaux des villes sont repris d'une autre feuille du classeur d'origine dont j'ai extrait celle-ci).

C'était long alors j'espère au moins que c'était clair. je suis évidemment à votre disposition pour des renseignements complémentaires.

Et il me reste à vous souhaiter bonne chance pour la suite, en espérant que l'un d'entre vous connaît la solution.

Je me suis mis à Excel avec ce jeu, j'en ai découvert un certain nombre de possibilités qui m'épatent toujours mais là, je cale et j'espère vraiment que c'est en raison de mon ignorance et pas à cause de cet excellent logiciel.

Au plaisir de vous lire,

Très cordialement,

Felbran

Bonsoir

Pour la Taverne je ne trouve pas les mêmes résultats que toi (il me semble que tu prends 5 niveaux au lieu de 4)

Pour le musée c'est identique

A voir les formules

Bonjour Felbran,

Felbran a écrit :

- j'additionne, à partir de cette ligne X cases en descendant vers le bas du tableau.

Dans l'exemple de ton fichier, X=4. (cellule B7) mais en B9 tu fais la somme de 5 cellules : B29 à B33. Est-ce que tu peux éclaircir ?

Si tu fais bien la somme de 4 cellules alors essaie ces formules :

1- Pour la taverne met la formule suivante en B9 et tire la formule vers la droite et vers le bas :

=SOMME(DECALER($A$25;EQUIV(B$3+1;$A$25:$A$37;0)-1;EQUIV(CHOISIR(EQUIV(GAUCHE($A9;4);{"Bois";"Mar."};0);"Bois";"Marbre");$A$16:$H$16)-1;B$7))

2- Pour le musée, idem en mettant la formule suivante en B11 :

=SOMME(DECALER($A$46;EQUIV(B$4+1;$A$46:$A$61;0)-1;EQUIV(CHOISIR(EQUIV(GAUCHE($A11;4);{"Bois";"Mar."};0);"Bois";"Marbre");$A$41:$H$41)-1;B$8))

Edit : bonsoir banzai ! je vois qu'on est sur la même longueur d'onde

Bonjour,

Et merci de vos réponses si rapides. Pour l'exemple que j'avais laissé, effectivement, je me suis planté en additionnant 5 lignes au lieu de 4 Quant à vos réponses, je les teste dès que possible et vous tiens au courant mais, quoi qu'il en soit, merci encore.

Bonne journée et bon code,

Respectueusement,

Felbran

Bravo à tous les deux et un grand merci pour votre aide. Si j'ai bien compris, il s'agit dans les deux cas d'une simple formule sans faire appel à du VBA? Merci d'avance de me le confirmer. La formule de vba_new est sans doute plus proche de ce que je voulais exactement mais elle est aussi plus complexe alors je vais déjà essayer de comprendre celle de banzaï. Si j'arrive à les comprendre parfaitement, je devrais pouvoir les réutiliser pour résoudre d'autres problèmes sans vous embêter à nouveau.

Donc, encore un grand merci et bonne soirée,

Felbran

Bonjour à tous,

Pas de VBA ici, ce sont bien des formules à saisir dans la feuille de calcul.

Un conseil pour décortiquer une formule. Utilise l'outil d'évaluation des formules que tu trouveras dans FORMULES / Evaluer la formule.

Cet outil te permet d'évaluer étape par étape les "sous-formules" d'une formule.

Rechercher des sujets similaires à "somme nombre variable donnees"