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
| Option Explicit
Type GraphData
Source As String
XValues As String
Left As Integer
Top As Integer
End Type
Public Sub CreateGraphs(ByVal Sheet As Excel.Worksheet, ByRef ChartData() As GraphData)
Dim i As Integer
For i = LBound(Data) To UBound(Data)
Dim Chart As Excel.Chart
Set Chart = Sheet.Shapes.AddChart
Chart.ChartType = xlAreaStacked
Chart.SetSourceData Source:=Range(ChartData(i).Source)
Chart.SeriesCollection(1).XValues = ChartData(i).XValues
Chart.Location Where:=xlLocationAsObject, Name:="Accueil"
Chart.ChartArea.Height = 420
Chart.ChartArea.Width = 760
Chart.ChartArea.Left = ChartData(i).Left
Chart.ChartArea.Top = ChartData(i).Top
Next
End Sub
Sub test()
Dim ChartData(0 To 1) As GraphData
ChartData(0).Source = "'Détails Rang2'!$JM$4:$TN$4"
ChartData(0).XValues = "='Détails Rang2'!$JO$3:$TN$3"
ChartData(0).Top = 10
ChartData(0).Left = 380
ChartData(0).Source = "'Détails Rang2'!$JM$5:$TN$5"
ChartData(0).XValues = "='Détails Rang2'!$JO$3:$TN$3"
ChartData(0).Top = 440
ChartData(0).Left = 380
CreateGraphs ActiveSheet, ChartData
End Sub |
Partager