Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Formule somme des colonnes sur feuille inexistante

Did25

XLDnaute Occasionnel
Bonjour le forum ,je travail toujours sur un fichier de gestion de jeux ,dans ce fichiers les joueurs peuvent ajouter des feuilles selon un modèle prédéfini ,avec un tableau identique à chaque fois .Sur la feuille d'accueil se trouve une plage de calcul ,je souhaiterais que celle-ci intègre automatiquement les nouvelle feuille pour son calcul de somme des colonnes H .Est-ce possible ?
 

Pièces jointes

  • Classeur1.xlsx
    14.7 KB · Affichages: 15
Solution
RE

Pense à nommer tes tableaux structurés : ce magma de noms va vite être ingérable
VB:
...
Sheets("Modèle").Copy Before:=Sheets("derfeuille")
With ActiveSheet
....
pas mal de lignes inutiles...
Code:
.Visible = xlSheetVisible
.Select
...
Application.Goto [B2], True
Range("A1").Select

djidji59430

XLDnaute Barbatruc
Bonjour à tous,

Après la feuille 3, tu crées une feuille vide, qui s'appelle "derfeuille"
Tu changes ta formule en =SOMME(Feuil1:derfeuille!H:H)
Toutes les colonnes H des feuilles crées par la suite et inséréess entre feuil1 et derfeuilles seront prises en compte.

Crdlmt
 

Dugenou

XLDnaute Barbatruc
Bonjour,
renommez votre feuille3 en feuille30
entrez la formule : =SOMME(Feuil1:Feuil30!H:H)
Les joueurs doivent ajouter des feuilles entre la 1 et la 30 jamais après la 30

Salut djidji !
 

chris

XLDnaute Barbatruc
Bonjour

Si tous les onglets comportent un tableau structuré comme dans l'exemple tu peux aussi utiliser PowerQuery

Mais pour une somme aussi simple, je vois pas l'intérêt de VBA ni celui de PowerQuery...
 

Did25

XLDnaute Occasionnel
Je précise que j'utilise une macro pour la création d'onglet et en utilisant la technique de la dernière feuille,je peux modifier ma formule pour imposer la création d'onglet avant la dernière feuille voici ma formule
Private Sub Btncréationonglet_Click()
Dim eq As Long, an As Long, idx As Variant, msg As String
On Error Resume Next

idx = Sheets(Me.TextBoxdate.Text).Index
On Error GoTo 0
If idx > 0 Then msg = "Feuille '" & Me.TextBoxdate.Text & "' déjà existante"

If msg <> "" Then GoTo erreur
'
Sheets("Modèle").Copy After:=Sheets(Sheets.Count)
With Sheets(Sheets.Count)
.Visible = xlSheetVisible
.Select
.Name = Me.TextBoxdate.Text
Application.Goto [B2], True
Range("A1").Select
End With
Me.Hide
Exit Sub
erreur:
MsgBox msg
End Sub
 

chris

XLDnaute Barbatruc
RE

Pense à nommer tes tableaux structurés : ce magma de noms va vite être ingérable
VB:
...
Sheets("Modèle").Copy Before:=Sheets("derfeuille")
With ActiveSheet
....
pas mal de lignes inutiles...
Code:
.Visible = xlSheetVisible
.Select
...
Application.Goto [B2], True
Range("A1").Select
 
Dernière édition:

Did25

XLDnaute Occasionnel
Bonjour chris merci de ta réponse ça fonctionne et j'ai fait le tri dans la formule comme tu l'as suggéré mais par contre que veux tu dire par " Pense à nommer tes tableaux structurés : ce magma de noms va vite être ingérable " ,lorsque je fais un création d'onglet d'une feuille contenant un tableau "X" ,la feuille copiée se retrouve avec un tableau nommé différemment ,existe t-il une autre solution ?
 

chris

XLDnaute Barbatruc
RE

Tout tableaux Structuré comme tout Onglet, tout classeur... ne doit pas garder son nom automatique de type Tableau1 mais avoir un nom signifiant qui permet de le localiser facilement
Au pire, si un seul Tableau structuré dans l'onglet, tu peux lui donner le même nom que l'onglet si ce nom ne contient pas d'espace
VB:
ActiveSheet.ListObjects(1).Name=....
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…