Additionner la meme cellule sur plusieurs onglets

mawua

XLDnaute Occasionnel
Bonjour tout le monde,
Je voudrais additionner une Cellule "A1" dont le contenu m'interesse, et ce, sur plusieurs onglets. Jusqu'ici, j'ai pas trop de difficulté, mais pour des raisons (esthétiques) les onglets (des mois de 1 à 12 max) ne sont pas tous créés dès l'ouverture du fichier.

Est-t-il possible de faire ce type de somme en anticipant les onglets qui pourraient être inseré?
Si oui, les adresses de cases qui n'existent pas ne vont-elles pas poser probleme lors du calcul? Comment contourner ce problème?

Sinon en VBA, la fonction array me paraissait interessante pour ce genre de cas, mais je n'ai aucune idée de comment la manipuler (ni où d'ailleurs), ni meme si elle ne nuirait pas tout simplement à l'utilisation du classeur (création de bouton ou de formulaire,....)
La solution la plus simple me parait, la plus opportune, mais ça m'a l'air mal barré.

Merci à vous.
 

Wan

XLDnaute Nouveau
Re : Additionner la meme cellule sur plusieurs onglets

Bonjour mawua,

voici un code qui pourrait te convenir :

Private Sub Workbook_Open()
Dim total As Long
Dim cell As Variant
For i = 1 To Sheets.Count
cell = Sheets(i).Range("A1").Value
total = total + cell
Sheets(1).Activate '---> A REFERENCER
Range("A2").Value = total '---> A REFERENCER
Next i
End Sub

A l'ouverture de ton classeur, il calcule tous les cellules "A1" dans ton classeur mais par contre à toi de référencer la destination de la somme de toutes tes cellules "A1"
 

Pièces jointes

  • test.xls
    16.5 KB · Affichages: 245
  • test.xls
    16.5 KB · Affichages: 243
  • test.xls
    16.5 KB · Affichages: 244

mawua

XLDnaute Occasionnel
Re : Additionner la meme cellule sur plusieurs onglets

Heu, j'ai pas tout suivi quand j'ai ouvert le classeur test.

Etrangement pour une fois, ça me paraissait plus clair quand j'ai lu le code, je m'etonne encore.
Ta fonction à l'air d'être tout à fait ce que je recherche, mais encore un hic de ma part, je n'ai pas compris le référencement auquel tu faisait allusion.
La référence c'est bien le fait de lister (dans la fonction) tous les noms d'onglet possible ? Ou bien est-ce la cellule dans laquelle je veux obtenir le résultat?

Merci pour votre célérité.
Il va falloir que je quitte le boulot.
Donc je repasserais d'ici une petite heure.
 

Wan

XLDnaute Nouveau
Re : Additionner la meme cellule sur plusieurs onglets

C'est encore moi !

C'est le résultat que tu veux obtenir.

Pour les onglets pas de soucy tu peux mettre n'importe koi comme nom.
Car elles sont indexés comme des tableaux (1,2,3,4....).

Voilà, si t'a un pb je te répondrais aussi je vais rentrer du boulot aussi lol !
A ce soir sinon ++
 

mawua

XLDnaute Occasionnel
Re : Additionner la meme cellule sur plusieurs onglets

Bonjour Wan, bonjour Tout le monde,

Un peu présomptueux hier, j'ai du mal à référencer mes onglets ce matin.
Dans mon modèle de doc, j'ai "Intro,", "Recap", "SITUATION 1".
Il peut y avoir jusqu'à une situation par mois donc en fin d'année il peut y avoir 12 onglets "SITUATION i".

Comment je référence cela ?

Voilà le code un peu transformé vu que je n'ai pas besoin des deux premiers onglets

Private Sub Workbook_Open()
Dim total As Long
Dim cell As Variant
For i = 1 To Sheets.Count
cell = Sheets(i + 2).Range("G27").Value 'la cible
total = total + cell
Sheets(1).Activate 'c'est la que ça coince
Range("H34").Value = total 'la cellule où s'affiche le total
Next i

End Sub


De plus, la situation doit être actualiser plus souvent, donc je vais l'integrer au code de l'onglet "Recapitulatif" en cas d'activation
Des contrindications ?
 

mawua

XLDnaute Occasionnel
Re : Additionner la meme cellule sur plusieurs onglets

Bon, je pense que tout est Ok en fin de compte
Private Sub Worksheet_Activate()
Dim total As Long
Dim cell As Variant
For i = 1 To Sheets.Count
cell = Sheets(i).Range("H34").Value
total = total + cell
Sheets(2).Activate
Range("G27").Value = total
Next i

End Sub

J'ai laissé de coté le i+2 (qui ne marchait pas) vu que les cellules concernées en Feuill1 et Feuill2 correspondent à des cellules vide (coup de bol) et mis le code en WorkSheet_Activate

Merki Wan
 

mawua

XLDnaute Occasionnel
Re : Additionner la meme cellule sur plusieurs onglets

En fait ça marche pas. Après avoir vu (avec un certain plaisir) la recapitulation fonctionné.
Je l'ai recopiée (en donnant des noms différents) pour chaque case que j'avais a calculé, et là, surprise.
Aucun résultat.
J'ai vérifié le référencement et tout parait impec.

On dirait que lorsque je l'ai multiplié, la fonction s'est annulée elle-même.
Je n'ai pourtant auncune erreur de compilation ou de méthode qui apparait.

J'ai tenté de remettre mon fatra de fonction dans le Workbook mais ça ne fonctionne toujours pas.

Je rappelle ce que je voulais faire: Dès que la feuille est active, un recalcul.
Je vais tenté de rendre les fonctions volatile....
 

Wan

XLDnaute Nouveau
Re : Additionner la meme cellule sur plusieurs onglets

Peux-tu me passer le fichier xls pour que je corrige, je ne trouve pas ça normal ou sinon passe moi un fichier identique mais avec de fausses données dans le cas où on franchirait le non-respect de la confidentialité.

Erwan
 

mawua

XLDnaute Occasionnel
Re : Additionner la meme cellule sur plusieurs onglets

J'ai fait un peu le ménage effectivement j'espère que tu comprendras quand même.
J'ai recopier trois fois la fonction dans le Workbook_Open et renommer chacune.

Il me semble que le soucis est l'initialisation de i.
 

Pièces jointes

  • Montruc.zip
    18.9 KB · Affichages: 92
  • Montruc.zip
    18.9 KB · Affichages: 82
  • Montruc.zip
    18.9 KB · Affichages: 91

Bricofire

XLDnaute Impliqué
Re : Additionner la meme cellule sur plusieurs onglets

Bonsoir tout le monde,:)
Mawua, si on s'en tient à ta demande initiale , en utilisant sans VBA une formule avec des rférences 3d, ça la fait tout seul, exemple ou tu veux dans la feuille 1 :

=SOMME(Feuil1:Feuil7!A1)
Il faut queleques clicks c'est tout et ça prend en compte tout insertion de feuille dans le lot.
pour ça, vois l'aide Excel en tapant "formule 3d" par exemple, vois aussi les extentions genre :
Conséquences sur une référence 3D du déplacement, de la copie, de l'insertion ou de la suppression de feuilles de calcul

Les exemples suivants expliquent ce qui arrive lorsque vous déplacez, copiez, insérez ou supprimez des feuilles de calcul citées dans une référence 3D. Les exemples utilisent la formule =SOMME(Feuil2:Feuil6!A2:A5) pour additionner les cellules A2 à A5 des feuilles de calcul 2 à 6.
Insérer ou copier Si vous insérez ou copiez des feuilles entre Feuil2 et Feuil6 (les extrémités dans cet exemple), Microsoft Excel inclut dans le calcul toutes les valeurs des cellules A2 à A5 des feuilles ajoutées.
Supprimer Si vous supprimez des feuilles entre Feuil2 et Feuil6, Microsoft Excel supprime leurs valeurs du calcul.
Déplacer Si vous déplacez des feuilles placées entre Feuil2 et Feuil6 vers un autre emplacement hors de la plage de feuilles référencée, Microsoft Excel supprime leurs valeurs du calcul.
Déplacer un point final Si vous déplacez Feuil2 ou Feuil6 vers un emplacement situé dans le même classeur, Microsoft Excel adapte le calcul à la nouvelle plage de feuilles.
Supprimer un point final Si vous supprimez Feuil2 et Feuil6, Microsoft Excel adapte le calcul aux feuilles restant entre ces feuilles.

Bonne soirée,
 

mawua

XLDnaute Occasionnel
Re : Additionner la meme cellule sur plusieurs onglets

Bonjour BricoFire, le forum.

J'ai tenté de travaillé sur cette formule, mais comme le nombre d'onglet peut varié (de 1 à 12). Le calcul me renvoi un #VALEUR désagréable.
En effets les douzes onglets ne sont pas présents dès la création du classeur.
J'ai pensé bouclé cette formule sur le Worksheet.Count
mais je n'y suis pas arrivé.

Voili, voilou.

P.S.:L'insertion des onglets se fait à la fin, le dernier onglet créé est en dernière position.
 
Dernière édition:

Bricofire

XLDnaute Impliqué
Re : Additionner la meme cellule sur plusieurs onglets

re tout le monde, :)

Mawua, pour le {valeur, je ne vois pas, je te joint un classeur simplisssime pour voir... l'intérêt du 3D est justement dans ce qu'on évoque.
Sinon, si tu as la noiuvelle feuille en fin de liste, ce n'est plus une insertion, mais un ajout, excel propose lui des insertions, sinon c'est que par excel tu fias une copie que tu places en dernier ou que tu ajoute la feuille en VBA avec Add. Dans ce dernier cas (ou manuellement par insertion) il suffit d'insérer la feuille (donc pas en dernier) et de les reclasser ensuite par une routine VBA simple ou mieux de la déplacer manuellement ce qui sur 1 feuille parmi 12 n'est pas très long, du coup le formule suivra.

bonne journée,
 

Pièces jointes

  • bricorep26071.zip
    8 KB · Affichages: 115

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 330
Membres
103 188
dernier inscrit
evebar