Bonjour à tous,

Je tente (vainement) de faire plusieurs graphique ou j'aurais en x et y deux plages de donnee variable. Ceci fonctionne bien.

Mon problème est que lorsque je lance mon code vba:

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
67
68
69
70
71
72
73
74
75
76
77
Sub ActualisationGraph()
 
Dim ligne1 As Long
Dim ligne2 As Long
Dim i As Long
 
'ligne1 = première ligne à laquelle le range doit être pris en compte
'ligne2 = dernière ligne de la plage de donnée
 
 
 i = 30
 
    Sheets("Coke tout venant (Tableau)").Activate
    Do
        If (Cells(i, 64).Value) = 0 Then
            Exit Do
        Else
            i = i + 1
        End If
 
    Loop
 
ligne2 = i - 1
ligne1 = ligne2 - 18
 
'Actuatilastion graph calcium (coke tout venant)
 
Sheets("Coke tout venant (Tableau)").Select
Set ChartRange1 = Range("BL9:BQ17")
ChartRange1Addr = ChartRange1.Address(External:=True)
 
Set ChartRange2 = Range("BL" & ligne1, "BQ" & ligne2)
ChartRange2Addr = ChartRange2.Address(External:=True)
 
Sheets("Coke tout venant (Graphs)").Select
ActiveSheet.ChartObjects("Chart 1").Activate
 
ActiveChart.SetSourceData Source:=Range(ChartRange1Addr & "," & ChartRange2Addr)
 
'Actuatilastion graph fer (coke tout venant)
 
Sheets("Coke tout venant (Tableau)").Select
Set ChartRange3 = Range("BR9:BV17")
ChartRange3Addr = ChartRange3.Address(External:=True)
 
Set ChartRange4 = Range("BR" & ligne1, "BV" & ligne2)
ChartRange4Addr = ChartRange4.Address(External:=True)
 
Set ChartRange5 = Range("BL9:BL17")
ChartRange5Addr = ChartRange5.Address(External:=True)
 
Set ChartRange6 = Range("BL" & ligne1, "BL" & ligne2)
ChartRange6Addr = ChartRange6.Address(External:=True)
 
Sheets("Coke tout venant (Graphs)").Select
ActiveSheet.ChartObjects("Chart 2").Activate
 
'ActiveChart.SetSourceData Source:=Range(ChartRange5Addr & "," & ChartRange6Addr & "," & ChartRange3Addr & "," & ChartRange4Addr)
 
ActiveChart.SeriesCollection(1).XValues = (ChartRange5Addr & "," & ChartRange6Addr)
ActiveChart.SeriesCollection(1).Values = (ChartRange3Addr & "," & ChartRange4Addr)
 
'Actuatilastion graph sodium (coke tout venant)
 
Sheets("Coke tout venant (Tableau)").Select
Set ChartRange7 = Range("BW9:CA17")
ChartRange7Addr = ChartRange7.Address(External:=True)
 
Set ChartRange8 = Range("BW" & ligne1, "CA" & ligne2)
ChartRange8Addr = ChartRange8.Address(External:=True)
 
Sheets("Coke tout venant (Graphs)").Select
ActiveSheet.ChartObjects("Chart 3").Activate
 
ActiveChart.SetSourceData Source:=Range(ChartRange7Addr & "," & ChartRange8Addr)
 
End Sub
Je regarde ensuite les graphiques et je me rends compte que bien sur, mon axe des X du graph 2 qui deverait être le même que celui du graph 1 n'est pas pareil. C'est comprenable puisque la plage de la colonne a n'est pas prise en compte.
J'ai joint un exemple : pour forum 3.xlsx
Je ne trouve pas comment ces deux plages de données peuvent être ajouté pour l'axe des X.

Merci de votre aide...

BISSOS