Pb graphique
rocklivedidi
-
ccm81 Messages postés 11033 Statut Membre -
ccm81 Messages postés 11033 Statut Membre -
Bonjour,
J'ai crée un graphique représentant l'évolution du poids d'une personne en fonction de la date. J'ai ensuite crée une macropour ce graphe.
Mon premier problème est que le titre dede l'axe horizontal ne veut pas garder la forme qui lui a été donné durant l'enregistrement de la macro.
Code VBA:
Sub Graphique_poids()
'
' Graphique_poids Macro
'
'
Dim x As String
x = "patient.textnom2.Text & patient.textprenom2.Text"
Range("A1:H2").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.SetSourceData Source:=Range("'Graphique'!$A$1:$H$2")
ActiveChart.ChartType = xlXYScatterSmooth
ActiveChart.ApplyLayout (1)
ActiveChart.Axes(xlValue).AxisTitle.Select
ActiveChart.Axes(xlValue, xlSecondary).AxisTitle.Text = "Visite" (pb ici) ActiveChart.Axes(xlValue, xlPrimary).AxisTitle.Text = "Poids"
ActiveChart.ChartTitle.Text = "Evolution du poids"
ActiveChart.Axes(xlCategory).MinimumScale = 1
ActiveChart.SeriesCollection(1).Select
Selection.Delete
ActiveChart.Legend.Select
Selection.Delete
End Sub
Mon deuxième problème est que j'aimerais maintenant pouvoir appeler ce graphique par VBA mais je n'y arrive pas. Avez vous une solution?
Je vous remercie!!!
Adrienne
J'ai crée un graphique représentant l'évolution du poids d'une personne en fonction de la date. J'ai ensuite crée une macropour ce graphe.
Mon premier problème est que le titre dede l'axe horizontal ne veut pas garder la forme qui lui a été donné durant l'enregistrement de la macro.
Code VBA:
Sub Graphique_poids()
'
' Graphique_poids Macro
'
'
Dim x As String
x = "patient.textnom2.Text & patient.textprenom2.Text"
Range("A1:H2").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.SetSourceData Source:=Range("'Graphique'!$A$1:$H$2")
ActiveChart.ChartType = xlXYScatterSmooth
ActiveChart.ApplyLayout (1)
ActiveChart.Axes(xlValue).AxisTitle.Select
ActiveChart.Axes(xlValue, xlSecondary).AxisTitle.Text = "Visite" (pb ici) ActiveChart.Axes(xlValue, xlPrimary).AxisTitle.Text = "Poids"
ActiveChart.ChartTitle.Text = "Evolution du poids"
ActiveChart.Axes(xlCategory).MinimumScale = 1
ActiveChart.SeriesCollection(1).Select
Selection.Delete
ActiveChart.Legend.Select
Selection.Delete
End Sub
Mon deuxième problème est que j'aimerais maintenant pouvoir appeler ce graphique par VBA mais je n'y arrive pas. Avez vous une solution?
Je vous remercie!!!
Adrienne
A voir également:
- Pb graphique
- Changer carte graphique - Guide
- Graphique sparkline - Guide
- Graphique camembert excel - Guide
- Comment faire un graphique sur excel - Guide
- Planification de processeur graphique à accélération matérielle - Guide
2 réponses
bonjour,
il doit manquer un ActiveChart.Axes(xlValue, xlSecondary).HasTitle = True
que veux tu dire par 'appeler' puisque ton graphique est déjà crée
, si c'est cacher/montrer tu peux te contenter d'un ChartObjects(n° graphique).Visible = true ou false faute de lui avoir donné un nom (.Name="xxx")
bonne suite
il doit manquer un ActiveChart.Axes(xlValue, xlSecondary).HasTitle = True
que veux tu dire par 'appeler' puisque ton graphique est déjà crée
, si c'est cacher/montrer tu peux te contenter d'un ChartObjects(n° graphique).Visible = true ou false faute de lui avoir donné un nom (.Name="xxx")
bonne suite
re
une RQ en passant
ActiveChart.SeriesCollection(1).Select
Selection.Delete
a pour effet de supprimer la série de données ... est ce que c'est vraiment ce que tu veux?
pour la modif de la plage de données (serie en colonnes) par exemple A2:B8, mais un nom serait peut être plus judicieux
ChartObjects(1).Chart.SetSourceData Source:=Sheets(nom de la feuille).Range("A2:B8"), PlotBy:= xlColumns
pour faire apparaitre ou disparaitre le graphique une bascule par exemple
ChartObjects(1).Visible = Not (ChartObjects(1).Visible)
bon courage
une RQ en passant
ActiveChart.SeriesCollection(1).Select
Selection.Delete
a pour effet de supprimer la série de données ... est ce que c'est vraiment ce que tu veux?
pour la modif de la plage de données (serie en colonnes) par exemple A2:B8, mais un nom serait peut être plus judicieux
ChartObjects(1).Chart.SetSourceData Source:=Sheets(nom de la feuille).Range("A2:B8"), PlotBy:= xlColumns
pour faire apparaitre ou disparaitre le graphique une bascule par exemple
ChartObjects(1).Visible = Not (ChartObjects(1).Visible)
bon courage
Et bien, en fait, j'ai crée une interface sur VBA et j'aimerais qu'à partir d'un bouton crée sur cette interface je puisse appeler ce graphe = qu'il apparaisse à l'écran. Comment puis je faire? (code)
Car celui ci dépend des données entrées ds l'interface.
D'ailleurs, peut etre savez vous aussi comment faire pr pouvoir modifier le graphe par le code. Ex: plage de données (lignes de tableau)
MERCI BEAUCOUP!