Microsoft 365 [CLOS] Tableau Structuré et recopie de Formule

ChTi160

XLDnaute Barbatruc
Bonjour ,
j'ai un tableau structuré avec une Colonne (6) qui comporte les Formules du Calcul (somme) par Ligne des Colonnes 3,4,5
lorsque j'ajoute (via un Userform ,Macro) Une Ligne , a mon tableau les Colonnes 3,4,5 sont bien remplies , mais la Colonne Total (6) ne s'incrémente pas de la Formule de la Ligne au dessus !
Avez vous une idée du Pourquoi ?
dans l'attente
Merci et Bonne fin de Journée
Jean marie
 

Cousinhub

XLDnaute Barbatruc
Inactif
Re-,
J'ai modifié la dimension du tableau (tu avais mis 8)
VB:
Dim TabDonnees(1 To 7, 1)
La formule s'insère automatiquement dans un TS, donc inutile d'y insérer quelque chose.
A la création, tu mets tes titres, puis "Insertion/Tableau" (tu précises qu'il y a bien des titres)
Dans la colonne "Total", tu mets ta formule kivabien
Puis, tu peux supprimer la ligne(via clic droit dans une cellule de cette ligne, Supprimer/Ligne de tableau)
La formule reste intégrée au TS
Lors de l'ajout d'une ligne (j'ai commenté la ligne où tu insérais la formule), les 7 premières colonnes vont se remplir, et la formule s'ajouter toute seule, comme une grande...
Je te laisse tester
 

Pièces jointes

  • Test Formules Chti160.xlsm
    29.4 KB · Affichages: 3

ChTi160

XLDnaute Barbatruc
Re
merci de ces réponse
j'avais un tableau , que j'ai transformé en TS sans autre Chose ,j'ai ensuite modifié la Formule pour y mettre les références de colonnes au lieu des cellules;
je me suis rendu compte que dans ma Formule il n'y avait pas de référence au Nom du Tableau (=SOMME([@[RTT]:[FRACTIONNEMENT]])) au lieu de (=SOMME(t_BDD[@[RTT]:[FRACTIONNEMENT]])est ce important ?
je regarde à appliquer la proposition de TooFatBoy!
Jean marie
 

Cousinhub

XLDnaute Barbatruc
Inactif
Re-,
Et en complément, pour remplir la nouvelle ligne, autant utiliser le codage propre aux TS
(Déclarer I as Long au préalable)
VB:
...
With Range("t_BDD").ListObject
     Set LstR = .ListRows.Add: I = LstR.Index
     .DataBodyRange(I).Resize(, 7) = Application.Transpose(TabDonnees)
End With
...
 

Cousinhub

XLDnaute Barbatruc
Inactif
Re
merci de ces réponse
j'avais un tableau , que j'ai transformé en TS sans autre Chose ,j'ai ensuite modifié la Formule pour y mettre les références de colonnes au lieu des cellules;
je me suis rendu compte que dans ma Formule il n'y avait pas de référence au Nom du Tableau (=SOMME([@[RTT]:[FRACTIONNEMENT]])) au lieu de (=SOMME(t_BDD[@[RTT]:[FRACTIONNEMENT]])est ce important ?
je regarde à appliquer la proposition de TooFatBoy!
Jean marie
Re,-
Non, il ne faut pas rentrer la formule par le biais de VBA...
 

ChTi160

XLDnaute Barbatruc
Re
Cousinhub
j'ai compris c'est juste une question !
je me suis rendu compte que dans ma Formule il n'y avait pas de référence au Nom du Tableau (=SOMME([@[RTT]:[FRACTIONNEMENT]])) au lieu de (=SOMME(t_BDD[@[RTT]:[FRACTIONNEMENT]])est ce important ?
donc
VB:
With Range("t_BDD").ListObject
     Set LstR = .ListRows.Add
    With LstR
       .Range.Cells(1, 1).Resize(, UBound(TabDonnees, 1)) = Application.Transpose(TabDonnees)
    End With
n'est pas du Codage TS ? tu dis :
"autant utiliser le codage propre aux TS"
j'ai encore rien Compris Lol
Merci a vous deux
Jean marie
 

ChTi160

XLDnaute Barbatruc
Re
'c'est bon j'avais oublié de redimensionner le tableau 1 to 7
Édit : j'ai aussi vu qu'il existe des options (3) qui concernent les diverses possibilités de recopie ou non des formules !
Merci a vous deux
Jean marie
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
313 296
Messages
2 096 923
Membres
106 787
dernier inscrit
Rachid ALIOU