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
| Sub GrafDynamicCroisé()
'
' GrafDynamicCroisé Macro
'
'selection du tableau concerné (les données concernées par le graphique)
Dim MaFeuille As Worksheet
Dim MonTableau As Range
'Set MaFeuille = ActiveSheet.Range("A18")
Set MaFeuille = ActiveSheet
' declaration de la feuille active
With MaFeuille
Set MonTableau = Range("A18", .Cells(Rows.Count, "A").End(xlUp).Offset(0, .Cells(17, Columns.Count).End(xlToLeft).Column))
End With
'selection de la source de donnée(sourcedata),version du graphique(version)
'destination du graphique (MaFeuille.cells) Nom du tableau ( tableau croisé...+nom de la feuille)
PivotCaches.Add(SourceType:=xlDatabase, SourceData:=MonTableau, Version:=xlPivotTableVersion12).CreatePivotTable _
TableDestination:=MaFeuille, TableName:="Tableau croisé dynamique" & "MaFeuille", _
DefaultVersion:=xlPivotTableVersion12
'selection ou creer le tableau
'Cells(1, 1).Select
'style du tableau
ActiveSheet.Shapes.AddChart.Select
ActiveChart.SetSourceData Source:=Range("$A$1:$C$18")
ActiveChart.ChartType = xlColumnClustered
ActiveChart.ChartStyle = 42
ActiveChart.ClearToMatchStyle
'selectionne les champs necessaire
i = "Tableau croisé dynamique" & MaFeuille
ActiveSheet.PivotTables(i).AddDataField ActiveSheet. _
PivotTables(i).PivotFields("PREL 2006"), _
"Somme de PREL 2006", xlSum
ActiveSheet.PivotTables(i).AddDataField ActiveSheet. _
PivotTables(i).PivotFields("PREL total 2007"), _
"Somme de PREL total 2007", xlSum
ActiveSheet.PivotTables(i).AddDataField ActiveSheet. _
PivotTables(i).PivotFields("PREL Total 2008"), _
"Somme de PREL Total 2008", xlSum
ActiveSheet.PivotTables(i).AddDataField ActiveSheet. _
PivotTables(i).PivotFields("Total ch demande 2009"), _
"Somme de Total ch demande 2009", xlSum
ActiveSheet.PivotTables(i).AddDataField ActiveSheet. _
PivotTables(i).PivotFields("ATT Logique"), _
"Somme de ATT Logique", xlSum
' suppression du graphic avec clic droit sur le grafic
End Sub |
Partager