Sub TraceTest()
Dim feuilleData, feuilleTrame As Worksheet
Dim Emplacement As Range
Dim i, Index, NbFiches, NbPoints As Integer
Dim NomFichier As String
Set feuilleData = ActiveWorkbook.Sheets("Selection")
Set feuilleTrame = ActiveWorkbook.Sheets("Trame")
NbFiches = 2 ' nombre de passages dans la boucel
NbPoints = 8 ' nombre de points par série
For Index = 1 To NbFiches
'---------------------------------------------------------------------------------------------
' Calcul test des données à tracer
For i = 1 To NbPoints
feuilleData.Cells(2, i) = i / NbPoints
feuilleData.Cells(3, i) = Index
Next i
'---------------------------------------------------------------------------------------------
' intialisation de la feuille de destination
feuilleTrame.Activate
feuilleTrame.Cells(1, 4) = "Numéro : "
feuilleTrame.Cells(1, 5) = Index
'---------------------------------------------------------------------------------------------
' création du graphique
Charts.Add
With ActiveChart
.ChartType = xlRadarMarkers
.Name = "RadarTest"
.SetSourceData Source:=Sheets("Selection").Range("A1:H1,A2:H2,A3:H3"), PlotBy:=xlRows
.FullSeriesCollection(1).Name = "=""année 1""" ' série 1
.FullSeriesCollection(2).Name = "=""année 2""" ' série 2
End With
'----------------------------------------------------------------------------------------------
' emplacement
ActiveChart.Location Where:=xlLocationAsObject, Name:="Trame" ' position du tracé
feuilleTrame.Activate
Set Emplacement = Range("A9:H28") ' emplacement où doit arriver le graphique sur Trame
With ActiveSheet.ChartObjects(1)
.Left = Emplacement.Left
.Top = Emplacement.Top
.Height = Emplacement.Height
.Width = Emplacement.Width
End With
'----------------------------------------------------------------------------------------------
' enregistrement
NomFichier = "D:\Export\FichierTest" & Index
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=NomFichier & ".pdf", _
Quality:=xlQualityStandard, IncludeDocProperties:=True, _
IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=False
'----------------------------------------------------------------------------------------------
' nettoyage
ActiveChart.Delete
feuilleTrame.Activate
Cells.Select
Selection.Delete Shift:=xlUp
Next Index
End Sub