Bonjour,

Je n'arrive à faire correspondre un choix d'une listbox pour alimenter un graphique. Je présice les series sont en lignes et non en colonnes.

Si je choisis les 5 series, seul la 2 et la 4 se tracent correctement!

De plus, la légende ne se crée pas en fonction des choix de la listbox.

J'ai du mal avec ce code que j'ai récupéré sur le net...

L'alimentation de la listbox:
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
 
'récupération nom du fichier excel actif
nomfichier = ActiveWorkbook.Name
 
'permet de faire reference a la feuille sans avoir a tout taper
Set MaFeuille = Workbooks(nomfichier).Worksheets("global")
 
'référence à la plage de données
Set p0 = MaFeuille.Range("a1:m1")
Set p1 = MaFeuille.Range("a3")
Set p2 = MaFeuille.Range("a5")
Set p3 = MaFeuille.Range("a7")
Set p4 = MaFeuille.Range("a9")
Set p5 = MaFeuille.Range("a11")
Set PlageDonnees = Union(p1, p2, p3, p4, p5)
 
Me.ListBox1.MultiSelect = fmMultiSelectMulti
 
'rempli les zones de la liste avec les noms des series
For cmpt = 1 To Cells(Rows.Count, "a").End(xlUp).Row
If PlageDonnees.Cells(cmpt).Value <> 0 Then
Me.ListBox1.AddItem PlageDonnees.Cells(cmpt).Value
End If
Next cmpt
Le tracé du graphique en fonction des choix:
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 
'permet de faire reference a la feuille sans avoir a tout taper
Set MaFeuille = Workbooks(nomfichier).Worksheets("Global")
 
 
'référence à la plage de données
Set p0 = MaFeuille.Range("b1:m1") 'axe des x
Set p1 = MaFeuille.Range("b3:m3")
Set p2 = MaFeuille.Range("b5:m5")
Set p3 = MaFeuille.Range("b7:m7")
Set p4 = MaFeuille.Range("b9:m9")
Set p5 = MaFeuille.Range("b11:m11")
Set PlageDonnees = Union(p1, p2, p3, p4, p5) 'valeurs des y
'Application.ScreenUpdating = False
 
For compteur = 0 To Me.ListBox1.ListCount - 1
    If Me.ListBox1.Selected(compteur) Then
        If MonGraphe Is Nothing Then
 
Set MonGraphe = Workbooks(nomfichier).Charts.Add
MonGraphe.ChartArea.Clear
MonGraphe.ChartType = xlXYScatterSmoothNoMarkers
End If
 
Set PlageY = PlageDonnees.Rows(compteur)
        Set PlageX = MaFeuille.Range("b1:m1")
 
 
Set MaSerie = MonGraphe.SeriesCollection.NewSeries
    With MaSerie
    .Values = PlageY
    .XValues = PlageX
    End With
    With MonGraphe
    .SeriesCollection(compteur).Name = PlageDonnees.Cells(compteur, 1).Value
End With
End If
 
Next compteur
 
With MonGraphe
    'Titre du graphique
    .HasTitle = True
    With .ChartTitle
    .Text = "Comparaison entre les différents lots"
    '.Border.LineStyle = xlThin
    '.Shadow = True
    End With
    End With
 
 
    With MonGraphe
    'action sur l'axe des X
    Set Axe = .Axes(xlCategory, xlPrimary)
    With Axe
        .HasTitle = True
        .AxisTitle.Text = Workbooks(nomfichier).Worksheets("Global").Range("a1").Value
                End With
    'action sur l'axe des ordonnées à gauche
    Set Axe = .Axes(xlValue, xlPrimary)
    With Axe
        .HasTitle = True
        .AxisTitle.Text = Workbooks(nomfichier).Worksheets("Global").Range("N3").Value
        End With
 
        End With
Merci de m'aider sur ce coup...svp

Tremens