Tableau croisé dynamique sur table à plage variable

  • Initiateur de la discussion Initiateur de la discussion Alice 05
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Alice 05

XLDnaute Nouveau
Bonsoir,

Je m'y prends très tard, mais j'ai un petit souci avec un TCD à plage variable.
Je souhaite permettre aux utilisateurs du fichier d'actualiser les données du tableaux de base (ajouter des lignes ou des colonnes), et d'obtenir automatiquement la modification du TCD (par un bouton MAJ si utilisation d'une macro, ou simple actualisation des données du TCD).
J'ai déjà essayé de définir une table variable. Mais quand je fais le TCD à partir de cette table, il y a un message d'erreur (problème de référence).
J'ai essayé de faire ce genre de macro, mais je ne m'y connais pas suffisamment, et ça ne marche qu'à la première exécution :


Sheets("BASE").Select
'comptage du nomdre de lignes et de colonnes du tableau
lignefin = Cells(1, 1).CurrentRegion.Rows.Count
colfin = Cells(1, 1).CurrentRegion.Columns.Count
'valeurs des variables de début de lignes et de colonnes
lignedep = 2
coldep = 1
Sheets("TAB1").Select
Columns("A:I").Select
Range("C1").Activate
Selection.Delete Shift:=xlToLeft
Range("A4").Select
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"'BASE'!R" & lignedep & "C" & coldep & ":R" & lignefin & "C" & colfin).CreatePivotTable TableDestination:="Tableau croisé dynamique2" _
, TableName:="Tableau croisé dynamique2"

Pouvez-vous m'aider svp ?

Merci beaucoup,

Alice
 
Re : Tableau croisé dynamique sur table à plage variable

Bonjour Alice,

Tu parles d'actualisation de TCD, mais à priori dans le code que tu donnes, tu supprimes le TCD pour le re-créer... enfin si j'ai bien compris...

D'autre part, tu parles de plage variable, pas de problème si tu rajoutes des lignes, par contre si tu rajoutes des colonnes, alors ce sont de nouveaux champs à prendre en compte dans dans le TCD, et ils ne le seront pas.

Regarde peut être le code ci-dessous, si cela peut t'aider, en supposant tes données sur une feuille nommée "Feuil1", données à partir de A1, ton TCD sur une feuille nommée "Feuil2" :

Code:
Sub test()
Dim maplage As Range
Set maplage = Sheets("Feuil1").Range("A1").CurrentRegion
Sheets("Feuil2").PivotTables(1).SourceData = maplage.AddressLocal(ReferenceStyle:=xlR1C1, external:=True)
End Sub

bonne journée
@+
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour