Bonjour à tous,

Voilà, je débute en VBA et je cherche à faire une macro qui automatise la création de graphiques pour mes taux de service. Le code fonctionnait très bien hier, mais ce matin à ma grande supprise il ne fonctionne plus et l'erreur d’exécution 1004 apparait "Erreur définie par l'application ou par l'objet"

Voici la macro en question :

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
Sub test_graph()
 
Dim ligne As Long
 
ligne = 5
 
While Sheets("Taux de service Mensuel 2").Range("B" & ligne).Value <> ""
    Union(Range("C4:N4"), Range(Cells(ligne, 3), Cells(ligne, 14))).Select
    Sheets(5).Shapes.AddChart.Select
    activeChart.ChartType = xlColumnClustered
    activeChart.SeriesCollection(1).Select
    activeChart.SeriesCollection(1).ChartType = xlLine
    activeChart.SeriesCollection(1).Name = "='Taux de service Mensuel 2'!$B$4"
    activeChart.SeriesCollection(2).Name = "=""Taux de service"""
    activeChart.SeriesCollection(2).XValues = _
        "='Taux de service Mensuel 2'!$C$3:$N$3"
    activeChart.SetElement (msoElementChartTitleAboveChart)
    activeChart.ChartTitle.Text = Cells(ligne, 2)
    Selection.Format.TextFrame2.TextRange.Characters.Text = Cells(ligne, 2)
    With Selection.Format.TextFrame2.TextRange.Characters(1, 1).ParagraphFormat
        .TextDirection = msoTextDirectionLeftToRight
        .Alignment = msoAlignCenter
    End With
    With Selection.Format.TextFrame2.TextRange.Characters(1, 1).Font
        .BaselineOffset = 0
        .Bold = msoTrue
        .NameComplexScript = "+mn-cs"
        .NameFarEast = "+mn-ea"
        .Fill.Visible = msoTrue
        .Fill.ForeColor.RGB = RGB(0, 0, 0)
        .Fill.Transparency = 0
        .Fill.Solid
        .Size = 18
        .Italic = msoFalse
        .Kerning = 12
        .Name = "+mn-lt"
        .UnderlineStyle = msoNoUnderline
        .Strike = msoNoStrike
    End With
 
  strName = Replace(activeChart.Name, ActiveSheet.Name & " ", "")
    With ActiveSheet.Shapes(strName)
    .Left = 3
    .Top = 1000 + 225 * ligne
  End With
 
 
'For Each Legraph In ActiveSheet.ChartObjects
   ' Legraph.Select
  '  activeChart.HasAxis(xlValue) = True
   ' activeChart.Axes(xlValue).Select
   ' activeChart.Axes(xlValue).MaximumScale = 1
'Next
 
 
    ligne = ligne + 1
    DoEvents
 
Wend
End Sub
Merci par avance.