Bonjour,
J'ai le code suivant, généré par l'enregistreur de macro, qui me créé un graphique.
Le problème est que le nom de mes feuilles vont varier en fonction de ce que mettra l'utilisateur dans une Inputbox. Actuellement le graphique ne se fait que sur la feuille nommée graph!
Ma question est la suivante:
Comment modifier ce code de manière à ce que le graphique se créé dans la feuille nommée par l'utilisateur via une inputbox? J'ai mis en gras les champs que je pense qu'il faut modifier.
Le code d'ajout de feuille est le suivant:
Pouvez-vous m'expliquer comment procéder?
Nric
J'ai le code suivant, généré par l'enregistreur de macro, qui me créé un graphique.
Code:
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=[B]Sheets("graph")[/B].Range("A1:B52"), PlotBy _
:=xlColumns
ActiveChart.SeriesCollection(2).Delete
ActiveChart.SeriesCollection(1).XValues = "=[B]graph![/B]R1C1:R52C1"
ActiveChart.SeriesCollection(1).Values = "=[B]graph![/B]R1C2:R52C2"
ActiveChart.Location Where:=xlLocationAsObject, Name:=[B]"graph"[/B]
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Transactions" & " " & transactions & "+" & " " & "(" & année & ")"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Week"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Total"
End With
ActiveChart.HasLegend = False
ActiveChart.PlotArea.Select
ActiveChart.Axes(xlValue).MajorGridlines.Select
With ActiveChart.Axes(xlValue)
.MinimumScaleIsAuto = True
.MaximumScaleIsAuto = True
.MinorUnitIsAuto = True
.MajorUnit = 1
.Crosses = xlAutomatic
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
End With
Le problème est que le nom de mes feuilles vont varier en fonction de ce que mettra l'utilisateur dans une Inputbox. Actuellement le graphique ne se fait que sur la feuille nommée graph!
Ma question est la suivante:
Comment modifier ce code de manière à ce que le graphique se créé dans la feuille nommée par l'utilisateur via une inputbox? J'ai mis en gras les champs que je pense qu'il faut modifier.
Le code d'ajout de feuille est le suivant:
Code:
transactions = InputBox("Nombre désiré >= x? (pour x>=10)")
année = InputBox("Année désirée")
Worksheets.Add
ActiveSheet.Name = transactions & "+" & " " & "(" & année & ")"
Pouvez-vous m'expliquer comment procéder?
Nric