Série de valeurs courbes en double

Bonjour,

J'ai mis en place un code VBA pour faire en automatique un graphique, j'ai des séries qui apparaissent en double, j'arrive pas à trouver l'origine sauriez vous d'où ça vient ? ( Série 10 à 17 et Moyenne de objectif rendement en gris)

Sub CreerGraphiqueDynamique()
    Dim ws As Worksheet
    Dim rng As Range
    Dim lastRow As Long
    Dim lastColumn As Long
    Dim cht As ChartObject

    ' Spécifiez la feuille de calcul contenant les données
    Set ws = ThisWorkbook.Sheets("Feuil1")

    ' Déterminez la dernière ligne non vide
    lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row

    ' Déterminez la dernière colonne non vide de la première ligne
    lastColumn = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column

    ' Vérifiez s'il y a suffisamment de données pour créer le graphique
    If lastRow > 1 And lastColumn > 1 Then
        ' Spécifiez la plage de données dynamique
        Set rng = ws.Range(ws.Cells(2, 1), ws.Cells(lastRow, lastColumn))

        ' Créez un nouvel objet graphique dans la feuille de calcul
        Set cht = ws.ChartObjects.Add(Left:=100, Width:=300, Top:=100, Height:=200)

        ' Définissez la plage de données pour le graphique
        cht.Chart.SetSourceData Source:=rng

        ' Ajoutez la première série de données en tant que courbe
        cht.Chart.SeriesCollection.NewSeries
        cht.Chart.SeriesCollection(1).ChartType = xlLine
        cht.Chart.SeriesCollection(1).Format.Line.Weight = 3 ' Épaisseur de la ligne (en points)
        cht.Chart.SeriesCollection(1).Format.Line.ForeColor.RGB = RGB(0, 0, 0) ' Couleur de la ligne (rouge)
        cht.Chart.SeriesCollection(1).Name = ws.Cells(1, 2).Value ' Nom de la série de données de la colonne B
        cht.Chart.SeriesCollection(1).Values = ws.Range(ws.Cells(2, 2), ws.Cells(lastRow, 2)) ' Valeurs de la colonne B

        ' Ajoutez la deuxième série de données en tant que courbe
        cht.Chart.SeriesCollection.NewSeries
        cht.Chart.SeriesCollection(2).ChartType = xlLine
        cht.Chart.SeriesCollection(2).Format.Line.Weight = 3 ' Épaisseur de la ligne (en points)
        cht.Chart.SeriesCollection(2).Format.Line.ForeColor.RGB = RGB(255, 0, 0) ' Couleur de la ligne (rouge)
        cht.Chart.SeriesCollection(2).Name = ws.Cells(1, 3).Value ' Nom de la série de données de la colonne C
        cht.Chart.SeriesCollection(2).Values = ws.Range(ws.Cells(2, 3), ws.Cells(lastRow, 3)) ' Valeurs de la colonne C

        ' Définissez les autres séries de données en tant qu'histogrammes
        For i = 3 To lastColumn
            cht.Chart.SeriesCollection.NewSeries
            cht.Chart.SeriesCollection(i).ChartType = xlColumnStacked100
            cht.Chart.SeriesCollection(i).Name = ws.Cells(1, i).Value ' Nom de la série de données
            cht.Chart.SeriesCollection(i).Values = ws.Range(ws.Cells(2, i), ws.Cells(lastRow, i)) ' Valeurs de la série de données
        Next i

        ' Facultatif : personnalisez le graphique selon vos besoins
        With cht.Chart
            .HasTitle = True
            .ChartTitle.Text = "Exemple de graphique"
            ' Ajoutez d'autres personnalisations ici
        End With
    Else
        MsgBox "Aucune donnée disponible pour créer le graphique.", vbInformation
    End If
End Sub
image

Je me permets de répondre pour le faire remonter en haut du flux

bonjour,

sans fichier, c'est une supposition, avec "cht.Chart.SetSourceData Source:=rng", vous avez déjà vos séries, et puis vous les ajoutez une 2ième fois.

Rechercher des sujets similaires à "serie valeurs courbes double"