Bonjour à tous !!

Comme dans le titre de cette discussion j'ai un petit problème sur ma construction de graphique.
Je veux créer une macro qui me permet de générer des graphiques à partir d'une base de donnée présente dans une feuille du classeur. Je recense le nombre de réparation par mois sur une année avec l'année antérieur représenté également, le tout sur plusieurs villes. Chaque villes de ma base de donnée est espacées par 3 lignes.

Jusque là tout fonctionne, tous mes graphiques se construisent en changeant leurs données (3 lignes plus bas) sauf pour une courbe qui représente un objectif. Cet objectif est entrer dans une cellule de ma base de donnée. J'ai donc copier cette donnée 12 fois (pour faire toute une année) afin d'obtenir une droite horizontal constante. Cependant je n'arrive pas à demander à ma boucle de lui faire rechercher l'objectif suivant; également 3 lignes en dessous.

Voici le code :
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
Sub Création_graph()
'
'
For i = 0 To 6

    Set MaPlage = Range("E" & 1 + 3 * i & ":P" & 3 + 3 * i)
    MaPlage.Select
    ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select
    'selectionne mes données
    ActiveChart.SetSourceData Source:=Sheets("BD").Range("E" & 1 + 3 * i & ":P" & 3 + 3 * i)
    'mise en forme du graph en histogramme
    ActiveChart.FullSeriesCollection(1).ChartType = xlColumnClustered
    ActiveChart.FullSeriesCollection(2).ChartType = xlColumnClustered
    'préciser valeur axe des abscisses (janvier,fevrier, ....)
    ActiveChart.FullSeriesCollection(1).XValues = "=BD!$E$1:$P$1"
    ' rennomer nom de série
    ActiveChart.FullSeriesCollection(1).Name = "=""Année 2014"""
    ActiveChart.FullSeriesCollection(2).Name = "=""Année 2015"""
    'rajouter une série
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.FullSeriesCollection(3).Name = "=""Objectif"""
    ActiveChart.FullSeriesCollection(3).Values = _
        "=BD!$V$2,BD!$V$2,BD!$V$2,BD!$V$2,BD!$V$2,BD!$V$2,BD!$V$2,BD!$V$2,BD!$V$2,BD!$V$2,BD!$V$2,BD!$V$2"  (C'est sur cette série que je n'arrive pas à lui demander d'aller chercher d'autres données situées 3 lignes plus bas sur toute ma boucle)
        
    ' mise en forme de la série en ligne + changement de couleur
    ActiveChart.FullSeriesCollection(3).ChartType = xlLine
    ActiveChart.FullSeriesCollection(3).Select
    With Selection.Format.Line
        .Visible = msoTrue
        .ForeColor.ObjectThemeColor = msoThemeColorAccent6
        .ForeColor.TintAndShade = 0
        .ForeColor.Brightness = 0
        .Transparency = 0
    End With
    'mettre titre aux graphs
    ActiveChart.ChartTitle.Text = Sheets("BD").Range("B" & 2 + 3 * i).Value
    'ajouter titre axe ds ordonnées
    ActiveChart.Axes(xlValue, xlPrimary).HasTitle = True
    ActiveChart.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Nbre réparation "
    'disposition des graphiques
    ActiveSheet.ChartObjects().Left = Range("A8").Left
    ActiveSheet.ChartObjects().Top = Range("A8").Top
    Next

'Changer taille des graphiques
Dim Nbre_Graphe As Byte
For Nbre_Graphe = 1 To ActiveSheet.ChartObjects.Count
With ActiveSheet.ChartObjects(Nbre_Graphe)
.Width = 450  'la largeur voulue
.Height = 250 'la hauteur voulue
End With
Next Nbre_Graphe

End Sub

Si vous avez des idées ??


Merci