Bonjour à tous,

J'aimerais créer une macro (dont le code est ci-dessous) qui crée 13 graphiques (1 par mois + annuel) pour plusieurs machines (dont le nom est contenu dans une cellule et est aussi le nom d'une feuille ==> nomMachine)

1) Dans ma feuille de données "Bilan TRS", je récupère le nom de la machine voulue
2) Pour chaque mois, je crée un graphique en prenant des données issues de la feuille (il y a simplement un décalage de 3 colonnes par mois)
3) le graphique est crée dans l'onglet "TRS nomMachine"
4) décalage de 9 lignes pour récupérer le nom de la 2ème machine et ainsi de suite jusqu'à ce que la cellule (i,1) soit vide avec i = i+9

Je bloque sur la définition des mes ordonnées et mes abscisses, et sur la création des graphes sur le bon onglet. Pouvez-vous m'aider ?

Merci d'avance !

Voici une capture d'écran de l'onglet bilan TRS
Nom : Bilan TRS.PNG
Affichages : 226
Taille : 100,6 Ko

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
Sub créationgraphe()
 
Dim objRange As Range, MaSerie As Series, i As Long
Dim abscisse, ordonnée As Range
Dim mois, nomMachine As String
 
Worksheets("Bilan TRS").Activate
i = 1
While Cells(i, 1).Value <> ""
    nomMachine = Cells(i, 1).Value
    For j = 1 To 13
        Select Case j
            Case Is = 1
                mois = "Janvier"
                k = 19
            Case Is = 2
                mois = "Février"
                k = 19 + 3
            Case Is = 3
                mois = "Mars"
                k = 19 + 3 + 3
            Case Is = 4
                mois = "Avril"
                k = 19 + 3 + 3 + 3
            Case Is = 5
                mois = "Mai"
                k = 19 + 3 * 4
            Case Is = 6
                mois = "Juin"
                k = 19 + 3 * 5
            Case Is = 7
                mois = "Juillet"
                k = 19 + 3 * 6
            Case Is = 8
                mois = "Août"
                k = 19 + 3 * 7
            Case Is = 9
                mois = "Septembre"
                k = 19 + 3 * 8
           Case Is = 10
                mois = "Octobre"
                k = 19 + 3 * 9
            Case Is = 11
                mois = "Novembre"
                k = 19 + 3 * 10
            Case Is = 12
                mois = "Décembre"
                k = 19 + 3 * 11
            Case Is = 13
                mois = "Annuel"
                k = 19 + 3 * 12
        End Select
 
 
            Set objRange = Worksheets("Bilan TRS").Range(Worksheets("Bilan TRS").Cells(i, k), Worksheets("Bilan TRS").Cells(i, k))
            'objRange.Activate
            Set objChart = Worksheets(nomMachine).ChartObjects.Add(140, 10, 500, 300)
            'objChart.Activate
            With objChart
              .ChartType = xlColumnClustered
              .SeriesCollection.Add objRange, xlColumns, True, True
 
                Set MaSerie = .SeriesCollection.NewSeries
                MaSerie.Values = "=" & objRange.Columns(i).Address(True, True, xlR1C1, True)
                MaSerie.XValues = "=" & objRange.Columns(1).Address(True, True, xlR1C1, True)
            .Title
                .Text = "PARETO" & nomMachine & mois
   End With
            End With
 
        Next j