XL 2010 Sommer des cellules de plusieurs onglets par formule simple

rosabelle

XLDnaute Junior
Bonjour,

Une fois de plus je fais appel à vous pour résoudre ce problème qui n'en n'est pas vraiment un mais je me dis que je me complique certainement la vie pour faire ceci:
Dans une cellule récapitulative de mon fichier j'ai la formule suivante:

SOMME('1'!B17*'1'!$F$37;'1'!G17*'1'!$K$37;'1'!L17*'1'!$P$37;'1'!Q17*'1'!$U$37;'2'!B17*'2'!$F$37;'2'!G17*'2'!$K$37;'1'!L17*'2'!$P$37;'2'!Q17*'2'!$U$37; etc je continue ainsi avec 15 feuilles.
Est-il possible de simplifier par une formule et pas un code de spécifier que je veux faire la somme de ces produits sur les 15 premiers onglets de mon fichier?
C'est que j'ai plusieurs sommes de la sorte à faire et je trouve que c'est une source d'erreur d'aller cliquer sur 15 onglets...

Une solution ?
Merci par avance
Bon après midi
 
Solution
Maintenant voyez le fichier joint et le tableau de la feuille Total.

Le plus fastidieux est de créer sans erreur la formule en C10, ensuite :

- copier cette formule vers le bas, attention les lignes 24 à 28 doivent être sautées

- tirer la plage C10:C22 vers la droite

- dans chaque colonne utiliser 2 fois la commande Remplacer (Ctrl+H) pour obtenir les bonnes références de colonnes.

rosabelle

XLDnaute Junior
Bonjour,

Une fois de plus je fais appel à vous pour résoudre ce problème qui n'en n'est pas vraiment un mais je me dis que je me complique certainement la vie pour faire ceci:
Dans une cellule récapitulative de mon fichier j'ai la formule suivante:

SOMME('1'!B17*'1'!$F$37;'1'!G17*'1'!$K$37;'1'!L17*'1'!$P$37;'1'!Q17*'1'!$U$37;'2'!B17*'2'!$F$37;'2'!G17*'2'!$K$37;'1'!L17*'2'!$P$37;'2'!Q17*'2'!$U$37; etc je continue ainsi avec 15 feuilles.
Est-il possible de simplifier par une formule et pas un code de spécifier que je veux faire la somme de ces produits sur les 15 premiers onglets de mon fichier?
C'est que j'ai plusieurs sommes de la sorte à faire et je trouve que c'est une source d'erreur d'aller cliquer sur 15 onglets...

Une solution ?
Merci par avance
Bon après midi
Bonjour Rosabelle,

Ne serait-il pas possible de nous mettre à dispo le fichier anonymisé pour que nous sachions ce que vous sommez ?

@+
Bonjour,
Je vous joins le fichier anonymisé.
J'ai par ailleurs essayé de réutiliser un code pour verrouiller et déverrouiller toutes les pages en 1 seule fois
mais ceci pourra faite l'objet d'une autre discussion...
Les boutons protection et déprotection seraient à mettre sur un onglet à la fin par exemple..
Merci par avance
 

Pièces jointes

  • Test somme produits de ts les onglets.xls
    353 KB · Affichages: 8
C

Compte Supprimé 979

Guest
Re,

Avec une petite fonction personnalisée, c'est tout à fait possible je pense 🤔

Mais le fichier ne l'état est inexploitable, pas d'entête avec titre, manque apparemment des formules, manque des valeurs, etc...

Bref, je ne m'aventurerais pas à vous aider dans ces conditions

Bonne soirée et bonne chance

@+
 

Gael

XLDnaute Barbatruc
Bonjour Rosabelle,

Une solution simple en mettant d'abord le résultat du calcul dans chaque feuille puis en faisant un total avec une formule multi-feuille.

exemple dans le fichier joint, le résultat de chaque feuille est en G2 et la feuille total montre le résultat de plusieurs sélections possibles (seulement des feuilles qui se suivent).

Est-ce que cela résout le problème?

Gaël
 

Pièces jointes

  • Test.xlsx
    10.9 KB · Affichages: 5

job75

XLDnaute Barbatruc
Bonjour rosabelle, Bruno, Gael,

Voyez le fichier joint et cette fonction VBA :
VB:
Function SommeF(v) As Double
Application.Volatile
Dim nf As Integer, formul As String, i As Integer, eval As Variant
nf = 15 'nombre de feuilles, à adapter
formul = Application.Caller.Formula
formul = Mid(formul, 9, Len(formul) - 9)
For i = 1 To nf
    eval = Evaluate(Replace(formul, "'1'", "'" & i & "'"))
    If IsNumeric(eval) Then SommeF = SommeF + eval
Next
End Function
Le code doit être placé impérativement dans un module standard.

La fonction est utilisée en C3 de la 1ère feuille :
Code:
=SommeF('1'!B17*'1'!$F$37+'1'!G17*'1'!$K$37+'1'!L17*'1'!$P$37+'1'!Q17*'1'!$U$37)
A+
 

Pièces jointes

  • SommeF(1).xlsm
    20.4 KB · Affichages: 4

rosabelle

XLDnaute Junior
Bonjour,
Merci pour vos réponses,
  • @BrunoM45 j'ai trop voulu l'anonymiser, je vais remettre un autre fichier ce soir.
Mais il me semblait que peu importait les formules du fichier.
Le principe général est celui que j'ai expliqué sur le fichier :
je n'ai que des (montants en rose que je multiplie par un nbre de mois en bleu) et cela sur les 15 premiers onglets.
Ensuite je fais le total de tous ces produits sur l'onglet "Total"
Et je dois faire cela pour toutes les cellules en dessous des roses et cela devient fastidieux et source d'erreur.
  • @Gael l'intention est bonne mais impossible à réaliser, j'ai une multitude de cellules à sommer de la sorte
  • @job75 merci pour le code mais je préfèrerais passer par une formule qui reste plus compréhensible pour moi tout d'abord et ensuite pour la même raison que celle donnée à BrunoM45
Merci encore et bonne journée à tous
 

Gael

XLDnaute Barbatruc
Bonjour Rosabelle,

Ci-joint ton fichier avec 2 possibilités:
1 - Je reprend ma réponse précédente, avec total en A6 de chaque feuille et total général dans la feuille "Total"
2 - si dans chaque feuille tu peux avoir un nombre de tableaux important alors tu peux dans chaque tableau faire la formule de multiplication (je l'ai fait en ligne 9 de la feuille "1") et le total en A9 n'a pas de limite puisque la somme ne tient pas compte des cellules vides.
J'ai mis =SOMME(B9:AA9) mais cela peut aller beaucoup plus loin.

Et si c'est toujours pas ça, c'est que je n'ai pas bien compris le problème.

Bonne journée,

Gaël
 

Pièces jointes

  • Test somme produits de ts les onglets.xls
    334 KB · Affichages: 8

job75

XLDnaute Barbatruc
Bonjour rosabelle, le forum,

Sans VBA vous pouvez utiliser un tableau de synthèse avec cette formule en C3
Code:
=SIERREUR(INDIRECT(B3&"!B17")*INDIRECT(B3&"!F37")+INDIRECT(B3&"!G17")*INDIRECT(B3&"!E37")+INDIRECT(B3&"!L17")*INDIRECT(B3&"!P37")+INDIRECT(B3&"!Q17")*INDIRECT(B3&"!U37");"")
A+
 

Pièces jointes

  • Somme feuilles(1).xlsx
    13.1 KB · Affichages: 8

rosabelle

XLDnaute Junior
Bonsoir,
Merci beaucoup pour toutes vos propositions.
Je n'ai sans doute pas été suffisamment claire aussi je joins à nouveau mon fichier que j'ai un peu complété.
J'ai ébauché sur la feuille Total le genre de sommes que je fais.

@job75 j'avoue que je ne comprends pas votre formule.
Vous mettez à chaque fois B3 multiplié par qq chose, mais moi ce n'est pas toujours B3.
="'"&LIGNE()-2&"'" que signifier cette formule ?

Pour mémo je somme ainsi en C10 sur la feuille Total : SOMME('1'!B17*'1'!$F$37;'1'!G17*'1'!$K$37;'1'!L17*'1'!$P$37;'1'!Q17*'1'!$U$37;'2'!B17*'2'!$F$37;'2'!G17*'2'!$K$37;'1'!L17*'2'!$P$37;'2'!Q17*'2'!$U$37 et ainsi de suite avec les feuilles 3,4,.5,6 ....

Je vous remercie encore pour votre aide
Bonne soirée
 

Pièces jointes

  • Test somme produits de ts les onglets.xls
    333.5 KB · Affichages: 7
Dernière édition:

rosabelle

XLDnaute Junior
Bah je vous ai donné une méthode (simple), c'est à vous de l'adapter à votre fichier.

Pour la formule en B3 et suivantes c'est assez évident alors réfléchissez un peu.
Bonsoir @job75
Merci pour votre remarque mais ce qui est évident pour vous ne l'ai pas pour ma petite cervelle malheureusement.
Je crois avoir enfin compris vos formules mais dans mon cas je ne vois pas trop la plus value.
Il faudrait que je fasse cela pour au moins une dizaine de cellules qui sont dessous de la B16.
Ma formule initiale toute bête que je n'ai pas terminée a l'avantage d'être re copiable

SOMME('1'!B16*'1'!$F$37;'1'!G16*'1'!$K$37;'1'!L16*'1'!$P$37;'1'!Q16*'1'!$U$37;'2'!B16*'2'!$F$37;'2'!G16*'2'!$K$37;'2'!L16*'2'!$P$37;'2'!Q16*'2'!$U$37;'3'!B16*'3'!$F$37;'3'!G16*'3'!$K$37;'3'!L16*'3'!$P$37;'3'!Q16*'3'!$U$37;'4'!B16*'4'!$F$37;'4'!G16*'4'!$K$37;'4'!L16*'4'!$P$37;'4'!Q16*'4'!$U$37;.....

Je remets mon fichier sur lequel :
  • j'ai mis votre formule en A et B sur la feuille Total
  • j'ai mis également la mienne sur la même feuille en G10
Elle n'est pas terminée mais je peux la recopier pour les cellules suivantes.
Comme c'est très fastidieux je pensais qu'une autre formule serait plus adaptée.

Désolée je n'ai pas encore la solution ou très probablement je ne sais pas adapter la vôtre😓😓😓
Bonne soirée
 

Pièces jointes

  • Test somme produits de ts les onglets.xls
    329 KB · Affichages: 3
C

Compte Supprimé 979

Guest
Bonsoir le fil,

Voilà comment je vois les choses 🤔

Sur chaque page en dehors de la zone qu'on voudrait imprimer, on fait les opérations de multiplications
Ensuite, dans la feuille récap, il ne reste plus qu'à faire la somme de chaque ligne de toutes les feuilles

Ce qui donne par exemple
VB:
=SOMME('1:15'!B60:U60)

Je ne sais pas si cela répondra au problème initial 😜

@+
 

Pièces jointes

  • Rosabelle_Test somme produits de ts les onglets.xls
    368 KB · Affichages: 4

job75

XLDnaute Barbatruc
Maintenant voyez le fichier joint et le tableau de la feuille Total.

Le plus fastidieux est de créer sans erreur la formule en C10, ensuite :

- copier cette formule vers le bas, attention les lignes 24 à 28 doivent être sautées

- tirer la plage C10:C22 vers la droite

- dans chaque colonne utiliser 2 fois la commande Remplacer (Ctrl+H) pour obtenir les bonnes références de colonnes.
 

Pièces jointes

  • Somme produits(1).xls
    312.5 KB · Affichages: 3

Discussions similaires

Réponses
9
Affichages
110

Statistiques des forums

Discussions
312 075
Messages
2 085 080
Membres
102 772
dernier inscrit
bluetesteur