Problème au niveau de la source d'un graphique (lié à un TCD)
Bonjour,
J'aimerai faire afficher un graphique lors de l'apparition d'un TCD sur un sheet.
En gros il faudrait que le graphique soit relié aux données du TCD, du coup j'ai fait un code permettant de prendre les données de ma BDD et de créé un TCD, jusque là, pas trop de souci, mais à l'affichage du TCD, le graphique est "VIERGE", il n'y a pas de données à l'intérieur...
J'ai essayé a plusieurs reprises de rentrer des données dans le SourceData de mon graphique sans succés, une idée sur ce problème ?
Mon code : (la partie en bleu à revoir donc...)
Code:
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 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| Private Sub CommandButton2_Click() 'Bouton Graphique Croisé Dynamique
If Workbooks("Extraction").Sheets("BDD").Range("A1").Value = "" Then
MsgBox "Merci d'effectuer une extraction afin de pouvoir analyser des données.", vbCritical
Else
On Error Resume Next
Sheets("GCD").Activate
'Suppression des GCD et TCD Précédents
Sheets("GCD").Rows("6:1048000").Delete Shift:=xlUp
Sheets("GCD").Range("A6:ZZ1048000").ClearContents
'pour la dernière ligne de la BDD :
derlig = Sheets("BDD").Range("A" & Rows.Count).End(xlUp).Row
'pour la dernière colonne de la BDD :
dercol = Sheets("BDD").Cells(1, Cells.Columns.Count).End(xlToLeft).Column
LetCol = Split(Cells(1, dercol).Address, "$")(1)
'Création TCD et GCD avec mise en forme :
Range("A1:" & LetCol & derlig).Select
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"BDD!R1C1:R" & derlig & "C" & dercol, Version:=xlPivotTableVersion15).CreatePivotTable _
TableDestination:="GCD!R10C1", TableName:="Tableau croisé dynamique1", _
DefaultVersion:=xlPivotTableVersion15
Sheets("GCD").Select
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Recette" _
)
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.PivotTables("Tableau croisé dynamique1").AddDataField ActiveSheet. _
PivotTables("Tableau croisé dynamique1").PivotFields("Conformité Densité"), _
"Somme de Conformité Densité", xlSum
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
"Conformité Densité")
.Orientation = xlPageField
.Position = 1
End With
'Ajout d'un graphique
Sheets("GCD").Activate
' 'pour la dernière ligne de la GCD :
' derlig1 = Sheets("GCD").Range("A" & Rows.Count).End(xlUp).Row - 1
' 'pour la dernière colonne de la GCD :
' dercol1 = Sheets("GCD").Cells(11, Cells.Columns.Count).End(xlToLeft).Column
' LetCol1 = Split(Cells(1, dercol1).Address, "$")(1)
ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
ActiveChart.Parent.Name = "Graphique"
'x = "GCD!A8"
x = "[Extraction.xlsb]GCD!Tableau croisé dynamique1"
ActiveChart.SetSourceData Source:=x
End If
End Sub |
Merci d'avance.
Cordialement.
GK