Graphe croisé dynamique par macro

massimo888 Messages postés 209 Statut Membre -  
massimo888 Messages postés 209 Statut Membre -
Bonjour tout le monde,


J'aimerais savoir si il y a une macro pour générer un graphe croisé dynamique à partir d'un tableau croisé dynamique déjà existant ?

Merci!!



2 réponses

benol3 Messages postés 718 Statut Membre 87
 
Salut,

Utilise l'enregistreur de macro, tu auras un modèle de ce que tu souhaites faire
0
massimo888 Messages postés 209 Statut Membre
 
Salut,
merci pour ta réponse
Je l'ai déjà fais mais la macro fais fais des bugs ça ne marche pas du tout!!
0
benol3 Messages postés 718 Statut Membre 87
 
Montre nous ton fichier via cjoint.com
0
massimo888 Messages postés 209 Statut Membre
 
http://cjoint.com/14ju/DGqpLlhSy2h.htm

Voila et merci.
0
benol3 Messages postés 718 Statut Membre 87
 
Que veux tu réprésenter graphiquement ?
0
massimo888 Messages postés 209 Statut Membre
 
Je veux reproduire le même graphique que quand je le génère manuellement!! cad qu'ils mettent dans le graphe toute les colonnes et que je ferais le choix des axes moi même!!

Merci
0
benol3 Messages postés 718 Statut Membre 87
 
Re,

Utilises ce code :

ActiveSheet.PivotTableWizard _
SourceType:=xlDatabase, _
SourceData:="CS!R3C1:R5C10", _
TableDestination:=Range("A12"), _
TableName:="TCD1"


Ou
SourceData sont tes données (R1C1 =1ère ligne 1ère colonne ="A1") R3C1:R5C10=>"A3:E10"
TableDestination est la celulle où va être créé le tableau croisé dynamique
TableName est le nom du tableau qui va être créé

Ps : Si tu veux reproduire plusieurs tableaux avec ce code, Veille bien à ce que la celulle de destination ne soit pas déjà occupée et que le nom du nouveau tableau croisé dynamique ne soit pas déjà attribué.

Pour ajouter des champs, utilise ces instructions :

With ActiveSheet.PivotTables("TCD1").PivotFields("Barbu") 'Met barbu en ligne
        .Orientation = xlRowField
        .Position = 1
    End With
With ActiveSheet.PivotTables("TCD1").PivotFields("Colonne1") 'Met colonne1 en colonne
        .Orientation = xlColumnField
        .Position = 1
    End With

ActiveSheet.PivotTables("TCD1").AddDataField ActiveSheet.PivotTables("TCD1" _
        ).PivotFields("Barbu"), "Nombre de Barbu", xlCount 'Met Barbu en valeurs
0
massimo888 Messages postés 209 Statut Membre
 
Merci pour le code mais ça marche pas, en débogage j'ai le même message d'erreur que celui que j'ai avec l'enregistreur!!
0