OVH Cloud OVH Cloud

Somme d'une cellule sur plusieurs feuilles

3 réponses
Avatar
Stéphan DuQuébec
Bonjour à vous toutes & tous,

Je suis débutant mais j'ai fait mes devoirs avant de placer ce post. J'ai entre autres passer en revue toutes les astuce d'Excelabo. Ma question: je dois additionner toutes les cellules d'une même adresse(exemple D22) mais dans l'ensemble des différentes feuilles (si je pouvais limiter la somme aux feuilles visibles, ce serait l'idéal) d'un même Workbook. Le hic, c'est que j'ai un bouton que les utilisateurs actionnent pour insérer des feuilles portant le nom issu d'un textbox (userform). Je dois donc compter sur un script qui fera en sorte que le calcul soit renouvellé pour éviter une somme qui n'intègre pas toutes les valeurs qui doivent l'être. Quelqu'un aurait-il l'amabilité de me dépanner. J'espère être clair dans ma question.

Merci !

3 réponses

Avatar
isabelle
bonjour Stéphan DuQuébec,

Sub Macro1()
For Each f In Sheets
If f.Visible = True Then x = x + f.Range("D1")
Next
MsgBox x
'ou bien
'ActiveSheet.Range("A1") = x
End Sub

isabelle


Bonjour à vous toutes & tous,

Je suis débutant mais j'ai fait mes devoirs avant de placer ce post. J'ai entre autres passer en revue toutes les astuce d'Excelabo. Ma question: je dois additionner toutes les cellules d'une même adresse(exemple D22) mais dans l'ensemble des différentes feuilles (si je pouvais limiter la somme aux feuilles visibles, ce serait l'idéal) d'un même Workbook. Le hic, c'est que j'ai un bouton que les utilisateurs actionnent pour insérer des feuilles portant le nom issu d'un textbox (userform). Je dois donc compter sur un script qui fera en sorte que le calcul soit renouvellé pour éviter une somme qui n'intègre pas toutes les valeurs qui doivent l'être. Quelqu'un aurait-il l'amabilité de me dépanner. J'espère être clair dans ma question.

Merci !


Avatar
michdenis
Bonjour Stéphane,

Inspiré de la procédure à Isabelle,

Place ceci dans un module standard :

'-------------------
Function SommeFeuilleVisible(Rg As Range)
Application.Volatile
Dim F As Worksheet, X As Double
For Each F In Sheets
If F.Visible = True Then X = X + Application.Sum(F.Range(Rg.Address))
Next
SommeFeuilleVisible = X
End Function
'-------------------

Et dans la cellule où tu veux voir le résultat :

'pour additionner toutes les cellules D1 des feuille visibles
=SommeFeuilleVisible(D1)

'Pour additionner toutes les plages A1:B5 de toutes les feuilles visibles
=SommeFeuilleVisible(A1:B5)


Salutations!


"Stéphan DuQuébec" a écrit dans le message de
news:
Bonjour à vous toutes & tous,

Je suis débutant mais j'ai fait mes devoirs avant de placer ce post. J'ai entre autres passer en revue toutes les astuce
d'Excelabo. Ma question: je dois additionner toutes les cellules d'une même adresse(exemple D22) mais dans l'ensemble
des différentes feuilles (si je pouvais limiter la somme aux feuilles visibles, ce serait l'idéal) d'un même Workbook.
Le hic, c'est que j'ai un bouton que les utilisateurs actionnent pour insérer des feuilles portant le nom issu d'un
textbox (userform). Je dois donc compter sur un script qui fera en sorte que le calcul soit renouvellé pour éviter une
somme qui n'intègre pas toutes les valeurs qui doivent l'être. Quelqu'un aurait-il l'amabilité de me dépanner. J'espère
être clair dans ma question.

Merci !
Avatar
Misange
le 12/07/2004 22:01:
Bonjour à vous toutes & tous,

Je suis débutant mais j'ai fait mes devoirs avant de placer ce post.
J'ai entre autres passer en revue toutes les astuce d'Excelabo.


OUAHHHH !!! 1500 astuces ;-) ben t'es un sacré bon élève :-)
sauf en français :
J'ai entre autres pass*é* en revue toutes les astuce*s* d'Excelabo.
(c'est pour rire ;-) )