Bonjour,
Je vous prie de m'excuser si l'intitulé vous a perdu, j'ai moi-même du mal à nommer ce que je cherche à faire (la faute je pense à des lacunes en math et en vba), et à cause de ça, j'ai beau chercher des heures, c'est sans succès que je ne trouve une solution correspondant à mon projet. Me voilà donc sur ce forum, à la recherche de savoir.
Je vous expose ma problématique de manière concrète :
J'ai une feuille que l'on nommera "GLOBAL".
J'ai un nombre variable de feuilles en plus de "GLOBAL" (numérotés 1 à 100).
Je souhaite que la cellule A1 de l'onglet "GLOBAL" contienne la somme des cellules A1 des autres onglets (la valeur des cellules A1 des autres onglets peut être modifié manuellement, du coup j'ai besoin d'une formule ce qui me permettra d'avoir la cellule A1 de GLOBAL toujours à jour).
Ma logique serait de positionner dans A1 de GLOBAL une formule du type =Feuil[n]!A1 + Feuil[n+1]!A1 + Feuil[n+2]!A1...etc
Par exemple pour 2 feuilles, la formule serait =Feuil1!A1 + Feuil2!A1
Pour 4 feuilles, la formule serait =Feuil1!A1 + Feuil2!A1 + Feuil3!A1 + Feuil4!A1
Problème, je ne vois pas du tout comment faire pour trouver une solution simple. Je ne sais même pas comment nommer ça correctement...
La seule solution que j'ai trouvé me semble un peu tarabiscotée :
Dans une 1ère étape je récupère la variable représentée par le nombre de feuilles (exemple : f = Sheets.Count -1)
Ensuite j'utilise la variable dans un For (exemple : For a = 1 to f)
Dans le For je positionne la valeur de la feuille a dans la cellule qui se trouve à la ligne 1 colonne a+1 ( Sheets("GLOBAL").Range("A"&a+1) = "=" & a &"!A1" )
Puis je termine en positionnant dans A1 de GLOBAL la formule qui va additionner les cellules ( Sheets("GLOBAL").Range("A1") = "=SUM(A2:A" & f+1)" )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 f = Sheets.Count -1 For a = 1 to f Sheets("GLOBAL").Range("A"&a+1) = "=" & a &"!A1" next Sheets("GLOBAL").Range("A1") = "=SUM(A2:A" & f+1)"
De cette manière ça fonctionne, mais je n'aime pas devoir passer par des cellules intermédiaires. Vous avez des idées ?
Partager