Graphique avec séries de données de longueur variable

Bonjour,

J´ai un soucis de syntaxe pour tracer un graphique avec une plage de données variables.

Je n´ai pas réussi à trouver l´info sur les discussions du forum même si j´ai apercu des problèmes similaires.

Voici le code qui affiche le graphique et sélectionne les données à afficher (bref ici de la ligne 4 à la ligne 135 ) depuis la feuille "Berechnung":

ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlXYScatterLinesNoMarkers
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(1).XValues = "=Berechnung!$B$4:$B$135"
    ActiveChart.SeriesCollection(1).Values = "=Berechnung!$C$4:$C$135"

Mon soucis c´est que les données à afficher sont écrites dans une feuille excel par une macro faisant appel à une boucle While: la longueur de la plage de donnée à afficher est variable suivant les résultats de la boucle While (par exemple de la ligne 4 à la ligne 287 au lieu de 135).

J´arrive à m´en sortir en mettant un compteur dans la boucle While pour connaitre la longueur réelle de la plage de données à tracer. Par contre je ne sais pas comment prendre en compte la valeur du compteur dans la syntaxe du code ci dessus.

Merci d´avance!

Yoann

Bonjour,

Un exemple pour le principe.

Cdlt.

Public Sub DEMO()
Dim ws As Worksheet, lRow As Long
    Application.ScreenUpdating = False
    Set ws = ActiveSheet
    lRow = ws.Cells(Rows.Count, 2).End(xlUp).Row
    ws.Shapes.AddChart.Select
    With ActiveChart
        .ChartType = xlXYScatterLinesNoMarkers
        .SeriesCollection.NewSeries
        .SeriesCollection(1).XValues = ws.Range("B4:B" & lRow)
        .SeriesCollection(1).Values = ws.Range("C4:C" & lRow)
    End With
    Set ws = Nothing
End Sub

Merci pour la réponse rapide et détaillée.

Ca marche, impeccable!

Yoann

Bonjour,

Pense à clore le sujet.

Cdlt.

Rechercher des sujets similaires à "graphique series donnees longueur variable"