Création graphique croisé vba

Fermé
Crookix Messages postés 1 Date d'inscription mardi 3 mars 2015 Statut Membre Dernière intervention 3 mars 2015 - 3 mars 2015 à 09:44
Bonjour,
Je souhaite créer un graphique croisé dynamique. ma macro, via un bouton, ouvre un nouveau classeur Excel, copie ma série de donnée et me crée même le tableau dynamique souhaité.

Cependant, je n'arrive pas à créer le graphique associé, la macro me renvoie l'erreur "La méthode Range de la classe worksheet a échoué" sur la ligne en gras soulignée !

Merci pour toute l'aide que vous pourrez m'apporter !
'Affectation du TCD à la feuille "taux de Solde pda export"
Workbooks("Taux de Solde PDA.xls").Worksheets("Taux de solde PDA export").Activate

Set wshTCD = Worksheets("Taux de solde PDA export")

'Suppresion de tous les TCD existants de la feuille
For Each PvtTCD In wshTCD.PivotTables
PvtTCD.TableRange2.Clear
Next PvtTCD

'Ajout d'un TCD sur la feuille "Taux de Solde PDA export"
Set PvtTCD = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:="Data filtrées!R1C1:R" & X & "C17") _
.CreatePivotTable(TableDestination:=wshTCD.Range("B5"), TableName:="Taux de Solde PDA")
ActiveSheet.Shapes.AddChart.Select
ActiveChart.SetSourceData Source:=Range("'Taux de solde PDA export'!$B$5:$G$174")
ActiveWorkbook.ShowPivotChartActiveFields = True
ActiveChart.ChartType = xlColumnStacked

'Ajout des champs au TCD
With PvtTCD

'Ajout d'une Ligne

With .PivotFields("Agence Dépannage")
.Orientation = xlRowField
.Position = 1
End With

With .PivotFields("Chargé de travaux")
.Orientation = xlRowField
.Position = 2
End With


'Ajout d'une Colonne
With .PivotFields("Solde")
.Orientation = xlColumnField
.Position = 1
End With

'Ajout d'une Valeur Solde
With .PivotFields("Solde")
.Orientation = xlDataField
End With

' 'Ajout d'une Ligne
' With .PivotFields("Centre")
' .Orientation = xlPageField
' .Position = 1
' End With

'Ajout d'une Ligne
With .PivotFields("Mois")
.Orientation = xlPageField
.Position = 1
End With
End With


A voir également: