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

Sources de graphiques modifiables sur vba

  • Initiateur de la discussion Initiateur de la discussion Nashpuss
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Nashpuss

XLDnaute Nouveau
Bonjour,

J'ai un classeur qui a plusieurs onglets "Run1", "Run2", "Run3" qui comportent tous le même formalisme. Je voudrais faire un graphique avec plusieurs séries avec en abscisse la B7:B307 de n'importe quel onglet et en ordonnée D7😀307 de plusieurs onglets.
Pour cela, j'ai un Userform qui me permet de choisir les onglets que je veux utiliser pour faire le graphique. Ca alimente une liste.
Mais je n'arrive pas à alimenter les sources du graphique avec cette liste. C'est-à-dire que les éléments de la liste soient reconnus comme onglet.

Voici mon code qui pose problème, il aime pas que je remplace 'Run 1' par Me.listBox2.List(i,0)
:
Code:
ActiveChart.SeriesCollection(i).Values = "='Me.ListBox2.List(i,0), 6)'!R7C4:R307C4"

Voilà le code total:

Code:
Private Sub CommandButton2_Click()

    Charts.Add
    ActiveChart.ChartType = xlLineMarkers
    ActiveChart.SetSourceData Source:=Sheets("Feuil2").Range("J33"), PlotBy:= _
    xlColumns
    ActiveChart.SeriesCollection(1).XValues = "='Me.ListBox2.List(1,0)'!R7C2:R307C2"
    For i = 0 To Me.ListBox2.ListCount - 1
        ActiveChart.SeriesCollection.NewSeries
        ActiveChart.SeriesCollection(i).Values = "='Me.ListBox2.List(i,0), 6)'!R7C4:R307C4"
        i = i + 1
    Next i
    ActiveChart.Location Where:=xlLocationAsNewSheet, Name:= _
        "Bidouillegraphique1"
    With ActiveChart
        .HasTitle = True
        .ChartTitle.Characters.Text = "Sécrétion EC en fonction du temps"
        .Axes(xlCategory, xlPrimary).HasTitle = True
        .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Jours"
        .Axes(xlValue, xlPrimary).HasTitle = True
        .Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Sécrétion EC µg/ml"
        .DisplayBlanksAs = xlInterpolated
        .PlotVisibleOnly = True
        .SizeWithWindow = False
    End With
    Application.ShowChartTipNames = True
    Application.ShowChartTipValues = True
End Sub

Pourriez vous m'aider?

Je vous remercie à l'avance,
 
Re : Sources de graphiques modifiables sur vba

Bonjour,

Une chose m'interpelle dans votre ligne de code

ActiveChart.SeriesCollection(i).Values = "='Me.ListBox2.List(i,0), 6)'!R7C4:R307C4"

A quoi se rapporte ce qui est coloré en rouge ?

Cordialement.

PMO
Patrick Morange
 
Re : Sources de graphiques modifiables sur vba

Ah oui c'est une erreur. Un bout de code que j'ai retiré au moment de la saisi du message et qui servait a rien. Mais c'est pas ca qui fait bugger parce que je l'ai retiré dans le code.
 
Re : Sources de graphiques modifiables sur vba

Bonjour Nashpuss, PM02,

Comme c'est une variable, je pense qu'il faudrait écrire:

Code:
"='" & Me.ListBox2.List(1,0) & "'!R7C2:R307C2"

@+

Gael
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
522
Réponses
0
Affichages
462
Réponses
4
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…