Famille de feuilles de calcul Microsoft avec des outils pour l’analyse, le graphique et la communication des données.
Regarde le classeur :
https://www.cjoint.com/c/LDCozWSvOgt
La macro est dans le module de la feuille :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim Val1(9), C As Range, Ctr As Long, Graph As Shape, Co As ChartObject
Dim S As Series, CheminModèle, Txt As String
Cancel = True
If (Target.Column = 3 And Target = "Mean") Or (Target.Column = 4 And Target = "ES") Then
On Error Resume Next
For Each Co In ActiveSheet.ChartObjects
Co.Delete
Next Co
On Error GoTo 0
CheminModèle = "C:\Users\dcola\AppData\Roaming\Microsoft\Templates" & _
"Charts\Graphique1.crtx"
Ctr = -1
For Each C In Target.Offset(1).Resize(14)
If C <> "" Then
Ctr = Ctr + 1
Val1(Ctr) = C
' Val2(Ctr) = C.Offset(, 2)
End If
Next C
Set Graph = ActiveSheet.Shapes.AddChart2(1, xlColumnClustered)
Graph.Chart.ApplyChartTemplate (CheminModèle)
For Each S In Graph.Chart.SeriesCollection
S.Delete
Next S
With Graph.Chart
.SeriesCollection.NewSeries
.SeriesCollection(1).Values = Val1
.Axes(xlCategory).TickLabels.MultiLevel = False
.SeriesCollection(1).XValues = "='Flandres MPT'!$AE$2:$AF$11"
.Axes(xlCategory).TickLabels.MultiLevel = True
With .SeriesCollection(1)
.Points(1).Interior.Color = 8698359
.Points(2).Interior.Color = 8424944
.Points(3).Interior.Color = 14668229
.Points(4).Interior.Color = 11570542
.Points(5).Interior.Color = 9136460
.Points(6).Interior.Color = 8698359
.Points(7).Interior.Color = 8424944
.Points(8).Interior.Color = 14668229
.Points(9).Interior.Color = 11570542
.Points(10).Interior.Color = 9136460
End With
End With
End If
End Sub
Il faut cliquer sur "Mean" oou "ES" de la variable voulue pour l'exécuter. Auparavant, tu dois modifier la ligne "CheminModèle = ..." pour indiquer l'emplacement du fichier modèle sur ton ordinateur.
Teste.
Daniel