Construction d'un graphique croisé dynamique

RENAUDER

Nous a quitté
Repose en paix
Bonjour,

Je souhaite via VBA, créer un graphique du'un TCD.
J'ai utilisé l'enregistreur de macros et ensuite j'ai remplacé les plages par des noms
Sourcedata:= contient une plage nommée BDA
TableDestination:= fait référence à la feuille Graphe

Par contre je bute sur le paramètre TableName:=

TableName est le Nom du nouveau rapport de tableau croisé dynamique et d'après l'aide il est facultatif.

Pour TableName:= je voudrais mettre un nom générique comme j'ai fait en Excel 2003
car à chaque lancement de la construction , TableName:="Tableau croisé dynamique1" puis TableName:=devient "Tableau croisé dynamique2", etc ...

Je veux définir un nom une fois pour toute pour TableName mais quoi que je mette, j'ai erreur 5

Code Excel 2007
Code:
 Sheets("Feuil1").Select
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:="BDA" _
        , Version:=xlPivotTableVersion10).CreatePivotTable TableDestination:= _
        "Graphe!L1C1", TableName:="Tableau croisé dynamique9", DefaultVersion:= _
        xlPivotTableVersion10

Exemple en Excel 2003

J'ai donné un nom à TableName:="TCD"

Code:
 ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:="BD"). _
            CreatePivotTable TableDestination:="TCD!R2C1", TableName:= _
                             "TCD", DefaultVersion:=xlPivotTableVersion10
    ActiveSheet.PivotTables("TCD").AddFields RowFields:= _
                                             Array("Opérateur", "Péage"), ColumnFields:="Date jour"
    ActiveSheet.PivotTables("TCD").PivotFields("Qté globale") _
            .Orientation = xlDataField
 

CB60

XLDnaute Barbatruc
Re : Construction d'un graphique croisé dynamique

Bonsoir
Je n'ai pas excel 2007 au bureau, mais a tu essayé avec l'enregistreur de macro lors de la création du TCD de mettre le nom que tu souhaite pour voir la syntaxe qu'il te met.
J'essayerais ce soir à la maison.
 

MichelXld

XLDnaute Barbatruc
Re : Construction d'un graphique croisé dynamique

bonsoir Eric et Bruno

As tu essayé avec PivotCaches.Add

Code:
Sub CreationTCD()
    'Testé sous Excel 2007
    Dim RefPlage As String, Cible As String
    
    'Crée la référence des sources style: Feuil1!R1C1:R6C2
    RefPlage = Range("A1:B6").Address(ReferenceStyle:=xlR1C1, _
        RowAbsolute:=True, ColumnAbsolute:=True)
    Cible = "Feuil1!" & RefPlage
    
    'Crée le TCD dans la cellule A1 de la feuille "Synthese"
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlConsolidation, _
        SourceData:=Cible).CreatePivotTable _
        TableDestination:=Worksheets("Synthese").Range("A1"), _
        TableName:="Tableau croisé dynamique1"
End Sub


bonne soirée
MichelXld
 

CB60

XLDnaute Barbatruc
Re : Construction d'un graphique croisé dynamique

Bonsoir

De cette façon, il me semble que ça fonctionne:
Code:
 Sheets("Feuil1").Select
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:="BDA" _
        , Version:=xlPivotTableVersion10).CreatePivotTable TableDestination:= _
        "Graphe!L1C1", DefaultVersion:=  xlPivotTableVersion10
J'ai enlever le table name, ensuite dans ta macro tu met cela:
Code:
 ActiveSheet.PivotTables(1).Name = "TCD"
J'ai fais l'essai et ma macro crée les TCD avec ce nom

edit ajout du fichier
 

Pièces jointes

  • TCD.zip
    18.6 KB · Affichages: 95
  • TCD.zip
    18.6 KB · Affichages: 96
  • TCD.zip
    18.6 KB · Affichages: 104
Dernière édition:

CB60

XLDnaute Barbatruc
Re : Construction d'un graphique croisé dynamique

Bonjour
Les infos de ton premier post réalisé un TCD?
Tu fais comment pour faire un graph dynamique sans passer par un TCD, je n'ai jamais vue ce genre de chose.
 

MJ13

XLDnaute Barbatruc
Re : Construction d'un graphique croisé dynamique

Bonjour à tous,

Tu peux testé ce code en étant sur ta feuille contenant le TCD qui doit être seul:
Code:
Sub Graphique_TCD_Auto()
' Macro enregistrée par MJ
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Charts.Add
   End Sub
 

RENAUDER

Nous a quitté
Repose en paix
Re : Construction d'un graphique croisé dynamique

Bonjour,

Avec Excel 2007, tu as la possibilité à partie d'une feuille de créer directement un graphique qui est inclus sur la même feuille où est construit le TCD.

Dams mon premier post, le titre était bien :
Construction d'un graphique croisé dynamique
(C'est ce qui est mis dans me menu d'Excel 2007 : Insertion, Graphique croisé dynamique)
 

Discussions similaires

Réponses
1
Affichages
516

Statistiques des forums

Discussions
312 196
Messages
2 086 101
Membres
103 116
dernier inscrit
kutobi87