Somme multiple feuilles - indirect ?

elnozy

XLDnaute Nouveau
Bonjour,

J'ai un classeur excel dans lequel j'ai un onglet "Bilan" qui contient une centaine de formules permettant de faire un tableau de bord et un onglet par semaine "Feuil20170924 - 20170930", "Feuil20171001 - 20171007", etc.
Les onglets de semaine sont générés chaque semaine, je ne connais donc pas à l'avance leur contenu ni leur nombre.

Je cherche à faire une somme via une formule qui m'éviterai de les modifier à chaque nouvel onglet.
La formule
Code:
=SOMME('Feuil20170924 - 20170930:Feuil20171001 - 20171007'!A1)
permet de faire ce que je cherche.
Le problème est qu'une nouvelle feuille arrive chaque semaine.

J'ai essayé de cumuler Somme et indirect mais ça ne fonctionne pas dans ce cas :
Code:
=INDIRECT("'Feuil20170924 - 20170930:Feuil20171001 - 20171007!A1")
donne #REF! donc la somme de cet indirect ne fonctionne pas.

J'ai pour le moment contourné le problème en ajoutant un onglet temporaire mais ce n'est pas très propre.

Je vous joins un fichier exemple avec le minimum pour reproduire mon problème.

Est-ce que je me trompe quelque part ? Avez-vous des idées ?

Merci
 

Pièces jointes

  • IndirectSomme.xlsx
    10.1 KB · Affichages: 27

zebanx

XLDnaute Accro
Bonsoir Elnozy.

Ce sont les caractères spéciaux qui posent problèmes.
Et si tu remplace "-" par "_" dans l'intitulé de tes feuilles, la fonction indirect va rechercher la cellule.
Tu devrais pouvoir finir.

Cdlt
zebanx
 

Pièces jointes

  • indirect_somme.xls
    27 KB · Affichages: 31

elnozy

XLDnaute Nouveau
Bonjour zebanx

Merci pour ta réponse :)
Effectivement le '-' semble poser problème.
Par contre cela ne fonctionne pas plus lorsque la référence à passer à Indirect est de la forme :
'Feuil2017092420170930:Feuil2017100120171007'!A1

Est-ce que tu vois ce qui peut bloquer ?
(cellule B9 et B10 de la feuille bilan)

Merci
 

Pièces jointes

  • indirect_somme 2.xls
    27 KB · Affichages: 21

zebanx

XLDnaute Accro
Bonjour Elnozy,

Comprends pas ta formule. Il n'y a pas de référence "A1" sur la première partie, tu mets un ":" sans une fonction (SOMME), mais si tu souhaites additionner des valeurs, ci-joint un fichier avec deux calculs :

- L'une additionnant deux résultats d'indirects : E6
- L'autre additionnant une plage sur la même feuille : D22

Suffisant pour terminer tes calculs ? (tenter plusieurs essais mais toujours avec une idée directrice =somme(indirect(...)) parait être la bonne solution)

++ zebanx
 

Pièces jointes

  • indirect_somme 2.xls
    31 KB · Affichages: 37
Dernière édition:

elnozy

XLDnaute Nouveau
Bonsoir zebanx,

Merci pour ton aide.
Je cherche à faire une somme de la même cellule de plusieurs feuilles.
Somme('Feuil2017092420170930:Feuil2017100120171007'!A1) permet de sommer toutes les cases A1 des feuilles comprises entre Feuil2017092420170930 et Feuil2017100120171007 (feuilles incluses).
Sauf que je ne connais pas le dernier onglet, donc j'ai besoin d'indirect pour pouvoir intégrer l'intervalle sous forme de texte.
Indirect('Feuil2017092420170930'!B11:C11) renvoi #valeur donc sa somme est posible par contre Indirect('Feuil2017092420170930:Feuil2017100120171007'!A1) renvoi #REF, la somme ne fonctionne donc pas.

Je veux éviter d'écrire tous les noms de feuilles dans la formule.

Pour l'instant la seule solution que j'ai trouvée est d'ajouter un onglet temporaire et de faire la Somme('Feuil2017092420170930:temp'!A1).

++ elnozy
 

zebanx

XLDnaute Accro
Bonsoir Elnozy

Compliqué de suivre, désolé.

Je reparts de là
"Je cherche à faire une somme de la même cellule de plusieurs feuilles."

Une solution par VBA peut-être, en placant une feuille appelée "RECAP" en première position sur le classeur.

++
zebanx

-----------------
Sub sommeR()
Dim total As Long
Dim cell As Variant
For i = 2 To Sheets.Count 'boucle sur toutes les feuilles depuis la deuxième
cell = Sheets(i).Range("A1").Value
total = total + cell
Next i
Sheets("recap").Range("A1").Value = total
End Sub
 

Pièces jointes

  • somme_A1_plusieurs sh.xls
    39 KB · Affichages: 36
Dernière édition:

elnozy

XLDnaute Nouveau
Bonsoir zebanx,

C'est une solution que j'envisageait aussi mais vu que la formule Somme('feuilleA:feuilleD'!A1) permet de faire la somme des cellules A1 des feuilles se trouvant entre feuilleA et feuilleD inclus je voulais éviter de devoir déclencher une macro.
Malheureusement, le nom de la dernière feuille change donc je regardais du côté de la fonction indirect pour paramétrer le nom du dernier onglet dans les formules. Mais ça ne semble pas fonctionner pour ce cas particulier :'(

Je vais partir sur la solution de l'onglet temporaire. Je garde ta solution sous le coude si jamais il y a des problèmes de perf avec la formule.

Encore merci pour ton aide
Bonne soirée
Elnozy
 

chris

XLDnaute Barbatruc
Bonjour

Tu as une somme 3D : il suffit d'avoir un onglet vierge avant la 1ere semaine et un autre à la fin, les nouveaux onglets devant être insérés avant et d'inclure ces onglets dans la somme
Code:
=SOMME('FeuilDebut:FeuilFin'!A1)
 

Discussions similaires

Statistiques des forums

Discussions
312 748
Messages
2 091 617
Membres
105 009
dernier inscrit
aurelien76110