Bonjour et merci de ta réponse.
Je ne peux rien isoler puisque c'est plus un ajout ou une modification (de je ne sais quel élément) auquel je dois opérer. Je réexplique donc le problème (très dur sans voir le graphique et le tableau) et colle le code de création du graphique.
J'ai un tableau avec en ligne des heures et en colonnes des équipes. En valeurs se trouvent le nombre de checkpoints franchis par l'équipes aux heures données (c'est une course virtuelle). Ainsi je vais de 0h à 20h. Une fois mon graphique tracé (suppression quadrillage principal, ajout quadrillage secondaire, axe des abcisses en haut, etc...), je me retrouve avec un ordre des séries de données selon la 1ère heure (0h donc), alors que je voudrais l'ordre suivant la dernière heure des données (20h), logique pour une question de confort de lecture. Ces séries de données sont déjà figées quand je veux modifier l'ordre "à la main", quelques chose doit forcer l'ordre.
Voici le code :
Sub quegraph()
Dim x, y As Integer
x = 13
y = 13
Workbooks("cp_horaire.xlsm").Worksheets("cp_horaire").Shapes.AddChart.Select
ActiveChart.SetSourceData Source:=Range(Cells(x, y), Cells(1, 1))
ActiveChart.ChartType = xlLineMarkers
ActiveChart.PlotBy = xlColumns
ActiveSheet.ChartObjects(1).Name = "Position_Evolution"
ActiveChart.Axes(xlValue).MinimumScale = 0
ActiveChart.Axes(xlValue).MaximumScale = y
ActiveChart.Axes(xlValue).Delete
ActiveChart.Axes(xlValue).MajorGridlines.Delete
ActiveChart.Axes(xlValue).HasMinorGridlines = True
ActiveChart.Axes(xlValue).MinorUnit = 10
ActiveChart.Axes(xlValue).MinorGridlines.Border.Color = RGB(255, 0, 0)
ActiveSheet.ChartObjects("Position_Evolution").Activate
Selection.Width = 746
Selection.Height = 522
ActiveChart.PlotArea.Height = 510
ActiveChart.PlotArea.Top = 5
ActiveChart.PlotArea.Width = 700
ActiveChart.PlotArea.Left = 10
'on affiche l'échelle de l'axe vertical
ActiveChart.SetElement (msoElementPrimaryValueAxisShow)
'on inverse le sens de l'axe vertical
ActiveChart.Axes(xlValue).ReversePlotOrder = True
'on affiche les étiquettes de données, puis on supprime toutes sauf la dernière
ActiveChart.ApplyDataLabels
'police des étiquettes abscisses et des ordonnées
ActiveChart.Axes(xlCategory).TickLabels.Font.Size = 8
ActiveChart.Axes(xlValue).TickLabels.Font.Color = RGB(255, 0, 0)
'suppression trait axe ordonnées
ActiveChart.Axes(xlValue).Border.LineStyle = xlNone
'couleur de fond du graphique
ActiveChart.PlotArea.Interior.Color = RGB(230, 230, 230)
ActiveChart.ChartArea.Interior.Color = RGB(230, 230, 230)
For i = 1 To (y - 1)
ActiveChart.SeriesCollection(i).DataLabels.ShowValue = False
ActiveChart.SeriesCollection(i).DataLabels.ShowSeriesName = True
ActiveChart.SeriesCollection(i).DataLabels.Orientation = 0
'taille des marqueurs
ActiveChart.SeriesCollection(i).MarkerSize = 3
For n = 2 To (x - 1)
ActiveChart.SeriesCollection(i).DataLabels(n).Delete
'on place les étiquettes de données à gauche du point
ActiveChart.SetElement (msoElementDataLabelLeft)
'on masque la légende
ActiveChart.SetElement (msoElementLegendNone)
Next n
Next i
End Sub