Bonjour tout le monde,

J'ai un petit soucis dans mon code VBA.
A partir d'une base de données, j'ai créé un tableau croisé dynamique à partir duquel je créé aussi un graphique croisé dynamique. Le seul problème c'est que je n'arrive pas à faire apparaitre le graphique avec des % par le biais de la macro.

Voici l'extrait du code sorti de l'assistant macro, dans lequel j'ai manuellement changé les données de valeur € à %. L'erreur 438 est donc apparue, surlignant Selection.ShowValue = False. Pareil si je le met avec un ' devant, la même erreur apparaît avec Selection.ShowPercentage = True...

C'est pourtant le code sorti de l'assistant VBA.

Si vous avez recontré ce problème et que vous avez une solution, je serai bien preneur !!

Merci d'avance !

Eric



Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Sheets("TCD").Select 
Range("E4").Select 
'création du graphique 
ActiveSheet.Shapes.AddChart.Select 
ActiveChart.SetSourceData Source:=Range("'TCD'!$A$4:$B$11") 
ActiveWorkbook.ShowPivotChartActiveFields = True 
ActiveChart.ChartType = xl3DPieExploded 
ActiveWorkbook.ShowPivotChartActiveFields = False 
ActiveChart.SeriesCollection(1).Select 
ActiveChart.SeriesCollection(1).ApplyDataLabels 
ActiveSheet.ChartObjects("Graphique 1").Activate 
ActiveChart.PlotArea.Select 
ActiveSheet.ChartObjects("Graphique 1").Activate 
ActiveChart.SeriesCollection(1).DataLabels.Select 
ActiveSheet.ChartObjects("Graphique 1").Activate 
 
'je ne veux pas l'affichage des valeurs mais % 
Selection.ShowValue = False 
Selection.ShowPercentage = True 
 
ActiveSheet.ChartObjects("Graphique 1").Activate 
ActiveChart.ChartArea.Select 
ActiveSheet.ChartObjects("Graphique 1").Activate 
ActiveChart.ChartTitle.Select 
ActiveSheet.ChartObjects("Graphique 1").Activate 
ActiveChart.ChartTitle.Text = "Stock" 
Range("H4").Select 
 
End Sub