Bonjour,
Je voudrais réaliser un graphique dont les données varient régulierement.

Parfois mon graphique aura les cellules B1 à B10 comme données à afficher en fonction de A1 et A10 (respectivements...)
D'autres fois de A1 à A100 et B1 à B100.
Comment programmer cela?

D'avance merci pour votre aide!

Voici mon code :

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
Sub Macro5()

    Range("A30:F43").Select
    Range("F30").Activate
    Selection.Sort Key1:=Range("F30"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    Charts.Add
    ActiveChart.ChartType = xlLineMarkers
    ActiveChart.SetSourceData Source:=Sheets("EtudeSpread").Range("E30:E43"), _
        PlotBy:=xlColumns
    ActiveChart.SeriesCollection(1).XValues = "=Etude!R30C6:R200C6"
    ActiveChart.SeriesCollection(1).Values = "=Etude!R30C5:R200C5"
    ActiveChart.Location Where:=xlLocationAsObject, Name:="EtudeSpread"
    With ActiveChart
        .HasTitle = True
        .ChartTitle.Characters.Text = "Spread VS rating"
        .Axes(xlCategory, xlPrimary).HasTitle = False
        .Axes(xlValue, xlPrimary).HasTitle = False
    End With
    Application.Run "BLPLinkReset"
    ActiveSheet.Shapes("Chart 9").IncrementLeft 426#
    ActiveSheet.Shapes("Chart 9").IncrementTop -2022.75
End Sub
Il faudrait que le passage en gras devienne variable mais je ne sais pas comment faire

Je pense qu'il faudrait implémente un truc du genre au début :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Range("A1").Select
nb = Selection.End(xlDown).Row
et ensuite dans les éléments en gras du graphique aller de la cellule A1 à la cellule Anb (ou nb = dernier nombre)
et meme procédure pour la colonne B

Mais comment coder cela?