TCD macro [Résolu]

Signaler
-
 kiki -
Bonjour,

Je suis étudiant, actuellement en stage je n'arrive pas à résoudre mon problème de "DefaultVersion:=xlPivotTableVersion12" j'ai beau cherché sur tout les sites je ne trouve aucune réponse pouvez-vous m'aider?

Voici ma macro:

 ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "Tableau4[#Tout]", Version:=xlPivotTableVersion12).CreatePivotTable _
        TableDestination:="avril 2015!R29C6", TableName:= _
        "Tableau croisé dynamique3", DefaultVersion:=xlPivotTableVersion12    Sheets("avril 2015").Select
    Cells(29, 6).Select
    ActiveWorkbook.ShowPivotTableFieldList = True
    With ActiveSheet.PivotTables("Tableau croisé dynamique3").PivotFields("Motif")
        .Orientation = xlRowField
        .Position = 1
    End With
    ActiveSheet.PivotTables("Tableau croisé dynamique3").AddDataField ActiveSheet. _
        PivotTables("Tableau croisé dynamique3").PivotFields("Coût des pièces "), _
        "Somme de Coût des pièces ", xlSum
    ActiveWorkbook.ShowPivotTableFieldList = False


EDIT: Ajout de la coloration syntaxique.

6 réponses

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Pour faire le tour de tes chartes, utilise un code comme ceci.
Change ActiveSheet pour le nom de la feuille si ce n'est pas elle qui est active.

   Dim Obj As ChartObject

For Each Obj In ActiveSheet.ChartObjects
MsgBox Obj.Name
Next

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
Bonjour,
hé bien ===>> boucle donc sur toutes les feuilles et imbrique dans cette boucle celle (qui t'a été montrée) traitant tes charts.
Les feuilles sont dans une collection (worksheets) et on boucle donc sur elles ainsi :
Dim sh As Worksheet
For Each sh In Worksheets
...
Next

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Bonjour,

Quel est le problème exactement ?
Est-ce que ton fichier doit être utilisé sur plusieurs versions Office ?
Y a-t-il un message d'erreur ? si oui lequel ?
Bonjour,

Merci de votre réponses j'ai totalement changé de macro.
Cependant il me manque quelque détail que je n'arrive pas à modifier

1- J'aimerais agrandir et déplacer mon graphique
2- J'aimerais ajouter une étiquette de données
3- J'aimerais ajouter un titre
4- il m'arrive d'avoir des critères à 0% j'aimerais le supprimer.

1-La macro ne fonctionne pas est elle n'agit que sur un graphique et non tout les graphiques comme je l'aimerais.

Macro:

ActiveSheet.ChartObjects("Graphique 12").Activate
    ActiveChart.PlotArea.Select
    Selection.Left = 16.782
    Selection.Top = 11
    ActiveSheet.ChartObjects("Graphique 12").Activate
    ActiveChart.ChartArea.Select
    ActiveSheet.ChartObjects("Graphique 12").Activate


2-La macro fonction mais uniquement sur le graphique selectionner existe t'il une formule pour prendre en compte tout les graphiques?

Macro:

ActiveSheet.ChartObjects("Graphique 12").Activate
    ActiveChart.SeriesCollection(1).Select
    ActiveSheet.ChartObjects("Graphique 12").Activate
    ActiveChart.SeriesCollection(1).ApplyDataLabels


3- Toujours le même problème avec un seul graphique et quand le macro fonctionne le titre ce superpose au graphique et ne se met pas au dessus.

Macro:

ActiveSheet.ChartObjects("Graphique 11").Activate
    ActiveChart.SetElement (msoElementChartTitleAboveChart)
    ActiveSheet.ChartObjects("Graphique 11").Activate
    ActiveChart.ChartTitle.Text = _
        "Pièces non prévues dans le recore" & Chr(13) & "Janvier 2015" & Chr(13) & "Total XXXXXX€"
    ActiveSheet.ChartObjects("Graphique 11").Activate
    ActiveChart.ChartArea.Select
    ActiveSheet.ChartObjects("Graphique 11").Activate


4- Je n'est pas de macro en existe t'il une?

Merci beaucoup pour votre aide comme vous pouvez voir ce sont des détail mais qui on leur importance pour ma missions.

Encore merci.
D'accord je ne s'avais pas comment ça fonctionner.
Merci.
Messages postés
278
Date d'inscription
vendredi 15 mai 2015
Statut
Membre
Dernière intervention
5 mai 2016

pourquoi tu ne passe pas par l'enregistrement d'une macro ?
tu lance l'enregistrement et tu fais tous a la mains une fois tu arrête l'enregistrement et pouf ta macro est crée ^^
>
Messages postés
278
Date d'inscription
vendredi 15 mai 2015
Statut
Membre
Dernière intervention
5 mai 2016

Oui je sais c'est ce que j'ai utilisé pour toutes mes macros cependant quand je fait ma macro pour déplacer et agrandir rien ne se passe, mais la macro ne me dit pas qu'il y a une erreur. Pour le titre et l'étiquette de données j'ai réussi à faire la macro le seul Bémol c'est que je dois cliquer sur le graphique avant pour qu'elle fonctionne et donc cela fait une étape en plus.
Messages postés
278
Date d'inscription
vendredi 15 mai 2015
Statut
Membre
Dernière intervention
5 mai 2016

aprè sje suis pas vraiment celle qui va t'aider j'y connais peut etre moins que toi je te proposer une solution car j'ai fait comme ca moi pour certaines de mes macro :/
C'est gentil merci j'ai fini m'a macro et elle fonctionne :).
Merci de ton aide. :)
Merci mais j'aimerais que la macro se face sur toutes les feuilles et pas juste une :/
Sa y est ma macro est terminer et fonctionne bien.

Merci beaucoup à vous tous pour votre aide.

Je reviendrais ici encore merci.

Bonne fin de journée à vous.