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
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.
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)
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)
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).
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
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.
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