Créer un TCD simple sur Excel VBA
Bonjour,
Je voudrais créer un TCD (tableau croisé dynamique) sur excel en allant chercher les données sur un autre classeur dans le même repertoire.
j'ai donc commencé par écrire le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10
|
Sub CreerTCD()
Workbooks("cde").PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
Worksheet("Sheet1").Range("A1").CurrentRegion.Address(, , xlR1C1, True)).CreatePivotTable _
TableDestination:=ActiveWorkbook.Worksheet(1).Range("E10"), _
TableName:="Mon TCD"
End sub |
mais Helas il y a déjà un soucis
Merci de votre aide.
ps : j'ai essayé de me basé sur le code suivant
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
Sub CreerTCD()
'SourceData: Définit la source de données dans le TCD.
'[Feuil1!A1].CurrentRegion.Address(, , xlR1C1, True) permet d'étendre
'automatiquement la sélection de façon à y inclure toute la zone en cours
'à partir de la cellule A1, dans la Feuil1.
'TableDestination: Définit la position du TCD (cellule A3 dans la Feuil2).
'TableName: Définit le nom du nouveau TCD. ("Mon TCD")
ThisWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
[Feuil1!A1].CurrentRegion.Address(, , xlR1C1, True)).CreatePivotTable _
TableDestination:="Feuil2!R3C1", _
TableName:="Mon TCD"
'Mise en forme:
With Feuil2.PivotTables("Mon TCD")
'Ajoute un champ de lignes nommé "Ville".
'Le nom du champ "Ville" doit préalablement exister comme entête de la
'source de données.
.AddFields RowFields:="Ville"
'Définit l'orientation du champ nommé "CA" en tant que Donnée.
'le nom du champ "CA" doit préalablement exister comme entête
'de la source de données.
.PivotFields("CA").Orientation = xlDataField
End With
End Sub |