Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Adapter graphique a une base de donnee variable

Payou

XLDnaute Occasionnel
Bonjour a tous,

Comme dit dans le titre, mon problème est le suivant. J'ai créé sous enregistreur de macro, un graph avec des séries se rapportant a un tableau.

Cependant ce tableau se verra rajouter au fil du temps des lignes, et j'aimerais donc que lorsque je lance ma macro, le graphique prenne en compte ces nouvelles lignes.

Je vous met le code actuel avec les zones en rouges qui devraient être modifiées, pour permettre de prendre en compte toute les colonnes :
Code:
Sub Faismoimongraph()

Application.ScreenUpdating = False

'Destruction de l'ancien graphique s'il existe
Application.DisplayAlerts = False
Sheets("Graph Scores").Delete
Application.DisplayAlerts = True

    Sheets("Scores").Select
    Charts.Add
    ActiveChart.ChartType = xlXYScatterSmoothNoMarkers
    ActiveChart.SetSourceData Source:=Sheets("Scores").Range("G16")
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection.NewSeries
    ActiveChart.SeriesCollection(1).XValues = "=Scores!R2C1:R6C1"
    ActiveChart.SeriesCollection(1).Values = "=[COLOR="Red"]Scores!R2C2:R6C2[/COLOR]"
    ActiveChart.SeriesCollection(1).Name = "=Scores!R1C2"
    ActiveChart.SeriesCollection(2).XValues = "=Scores!R2C1:R6C1"
    ActiveChart.SeriesCollection(2).Values = "=[COLOR="Red"]Scores!R2C3:R6C3[/COLOR]"
    ActiveChart.SeriesCollection(2).Name = "=Scores!R1C3"
    ActiveChart.SeriesCollection(3).XValues = "=Scores!R2C1:R6C1"
    ActiveChart.SeriesCollection(3).Values = "=[COLOR="Red"]Scores!R2C4:R6C4[/COLOR]"
    ActiveChart.SeriesCollection(3).Name = "=Scores!R1C4"
    ActiveChart.SeriesCollection(4).XValues = "=Scores!R2C1:R6C1"
    ActiveChart.SeriesCollection(4).Values = "=[COLOR="Red"]Scores!R2C5:R6C5[/COLOR]"
    ActiveChart.SeriesCollection(4).Name = "=Scores!R1C5"
    ActiveChart.SeriesCollection(5).XValues = "=Scores!R2C1:R6C1"
    ActiveChart.SeriesCollection(5).Values = "=[COLOR="Red"]Scores!R2C6:R6C6[/COLOR]"
    ActiveChart.SeriesCollection(5).Name = "=Scores!R1C6"
    ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="Graph Scores"
    With ActiveChart
        .HasTitle = True
        .ChartTitle.Characters.Text = "Evolution des scores"
        .Axes(xlCategory, xlPrimary).HasTitle = True
        .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Partie"
        .Axes(xlValue, xlPrimary).HasTitle = True
        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Score"
    End With
    ActiveChart.Axes(xlCategory).Select
    With ActiveChart.Axes(xlCategory)
        .MinimumScaleIsAuto = True
        .MaximumScaleIsAuto = True
        .MinorUnitIsAuto = True
        .MajorUnit = 1
        .Crosses = xlAutomatic
        .ReversePlotOrder = False
        .ScaleType = xlLinear
        .DisplayUnit = xlNone
    End With
Application.ScreenUpdating = True

End Sub

A savoir que les séries 1,2,3,4,5 sont les résultats des lignes comprises dans les colonnes B,C,D,E,F

EDIT: Upload d'un fichier exemple
 

Pièces jointes

  • Copy of Score_Tarot.zip
    19.9 KB · Affichages: 37
Dernière édition:

Catrice

XLDnaute Barbatruc
Re : Adapter graphique a une base de donnee variable

Bonjour,

A tester et adapter :

nblig = Sheets("Scores").Range("A65536").End(xlUp).Row
ActiveChart.SeriesCollection(1).XValues = "=Scores!R2C1:R" & nblig & "C1"
ActiveChart.SeriesCollection(1).Values = "=Scores!R2C2:R" & nblig & "C2"

Voir fichier
 

Pièces jointes

  • Copy of Score_Tarot.xls
    33.5 KB · Affichages: 72
  • Copy of Score_Tarot.xls
    33.5 KB · Affichages: 78
  • Copy of Score_Tarot.xls
    33.5 KB · Affichages: 82
Dernière édition:

Payou

XLDnaute Occasionnel
Re : Adapter graphique a une base de donnee variable

Bonjour Catrice,

Tout d'abord merci de pour ta réponse. Je vais abuser, mais pourrais-tu juste me montrer ou l'intégrer dans mon code stp, après j'adapterais bien sur, mais juste l'emplacement serait vraiment sympa

ENORME EDIT: Euh gros boulet, je retire ma demande, et te tiens au courant si cela fonctionne

EDIT2: Merci ça marche super !
 
Dernière édition:

Catrice

XLDnaute Barbatruc
Re : Adapter graphique a une base de donnee variable

Re,

Ci-joint une version avec une boucle et un code allégé.
 

Pièces jointes

  • Copy of Score_Tarot.xls
    33 KB · Affichages: 90
  • Copy of Score_Tarot.xls
    33 KB · Affichages: 88
  • Copy of Score_Tarot.xls
    33 KB · Affichages: 90

Payou

XLDnaute Occasionnel
Re : Adapter graphique a une base de donnee variable

Merci Catrice

par contre j'ai un problème avec ton code, il me manque le joueur de la première colonne :S Et j'ai le même problème également avec la précédente version :S

EDIT: Chez toi ca fonctionne très bien, chez moi il me met 2 personnes sous la meme ligne de graph :S

EDIT: Je crois que c'est bon je devais definir x comme 'variant' et non "Object"
 
Dernière édition:

Discussions similaires

Réponses
1
Affichages
385
Réponses
0
Affichages
308
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…