Bonjour,

J'ai une feuille Excel ("Chart 4") dans lequel sont insérés deux graphiques.
Le premier est un diagramme circulaire (un camembert) ("Chart1"), le deuxième un histogramme ("Chart2").
Je souhaiterais que quand l'utilisateur clique sur une partie du camembert, l'histogramme se mette à jour automatiquement.
En fait, le fait de cliquer sur une partie du camembert sélectionne des données dans un tableau (qui se trouve en B20:N27), données qui vont devenir la "source" de l'histogramme.

J'ai créé un module de classe "Classe 1":

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Option Explicit
Public WithEvents GlobalChart As Chart
 
Private Sub GlobalChart_MouseDown(ByVal ElementID As Long, _
ByVal arg1 As Long, ByVal arg2 As Long)
 
Dim ID As Long
Dim arg1 As Long
Dim arg2 As Long
Dim n As Integer
 
GlobalChart.GetChartElement x, y, ID, arg1, arg2
 
If ElementID = 3 Then
 
n = ActiveChart.SeriesCollection(1).Points(arg2).Value
 
For i = 20 To 27
If n = Cells(i, 15).Value Then
 
ThisWorkbook.Worksheets("Chart 4").Activate
ActiveSheet.ChartObjects("Chart 2").Activate
ActiveChart.FullSeriesCollection(1).Name = ThisWorkbook.Worksheets(4).Cells(i, 2).Value
 
Set SourceRng = Sheets("Chart 4").Range("B" & i & ":N" & i)
 
ActiveChart.FullSeriesCollection(1).Values = SourceRng
End If
Next
End If
 
End Sub
Et sur la feuille qui contient les graphiques ("Chart 4"):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Option Explicit
Dim adaptGraph As New Classe1
 
Sub Worksheet_Activate()
Set adaptGraph.GlobalChart = Sheets("Chart 4").ChartObjects("Chart1").Chart
End Sub
Mais mon code ne fonctionne pas. Pas de message d'erreur, on dirait simplement que le code ne s'exécute pas.
Peut-être avez-vous une idée de ce qui est faux/de ce qui manque?

Merci d'avance pour votre aide!