Bonjour à toutes et tous,
Je génère à partir de données (plage non constante) un graphique.
Le code ci-dessous fonctionne très bien et effectue ce que je souhaite.
Par contre, il peut être nécessaire d'avoir à régénérer la feuille où se situe ce graphique (gf1) et d'autres non générés via VB. Dans ce cas il faudrait que je puisse supprimer spécifiquement le graphique gf1 qui sera actualisé avec les nouvelles données. Et là je sèche : je ne parviens pas à nommer mon objet chart dans mon code.
Je pense que c'est la solution pour pouvoir supprimer gf1 sans supprimer les autres graphes. En bonus, histoire d'être sur si vous avez le code pour bien supprimer le graphique gf1 nommé.
Merci d'avance pour votre assistance et avec du retard bonne année.
Sub graphiques()
Dim i As Integer
Dim graphclient As ChartObject
Dim tdb As Worksheet
Sheets(ongtdb).Select
i = 4
Range("Q4").Select
While ActiveCell.Value <> ""
i = i + 1
Range("Q" & i).Select
Wend
Set tdb = Sheets(ongtdb)
Set graphclient = tdb.ChartObjects.Add(0, 75, 180, 150)
With graphclient.Chart
.ChartType = xlPieExploded
.ClearToMatchStyle
.ChartStyle = 6
.ClearToMatchStyle
.ApplyLayout (4)
.Parent.RoundedCorners = True
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = tdb.Range("Q4", "Q" & i - 1)
.SeriesCollection(1).Values = tdb.Range("T4", "T" & i - 1)
.SeriesCollection(1).DataLabels.Font.Size = 6
.SeriesCollection(1).DataLabels.ShowValue = False
.SeriesCollection(1).DataLabels.ShowPercentage = True
End With
End Sub
Je génère à partir de données (plage non constante) un graphique.
Le code ci-dessous fonctionne très bien et effectue ce que je souhaite.
Par contre, il peut être nécessaire d'avoir à régénérer la feuille où se situe ce graphique (gf1) et d'autres non générés via VB. Dans ce cas il faudrait que je puisse supprimer spécifiquement le graphique gf1 qui sera actualisé avec les nouvelles données. Et là je sèche : je ne parviens pas à nommer mon objet chart dans mon code.
Je pense que c'est la solution pour pouvoir supprimer gf1 sans supprimer les autres graphes. En bonus, histoire d'être sur si vous avez le code pour bien supprimer le graphique gf1 nommé.
Merci d'avance pour votre assistance et avec du retard bonne année.
Sub graphiques()
Dim i As Integer
Dim graphclient As ChartObject
Dim tdb As Worksheet
Sheets(ongtdb).Select
i = 4
Range("Q4").Select
While ActiveCell.Value <> ""
i = i + 1
Range("Q" & i).Select
Wend
Set tdb = Sheets(ongtdb)
Set graphclient = tdb.ChartObjects.Add(0, 75, 180, 150)
With graphclient.Chart
.ChartType = xlPieExploded
.ClearToMatchStyle
.ChartStyle = 6
.ClearToMatchStyle
.ApplyLayout (4)
.Parent.RoundedCorners = True
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = tdb.Range("Q4", "Q" & i - 1)
.SeriesCollection(1).Values = tdb.Range("T4", "T" & i - 1)
.SeriesCollection(1).DataLabels.Font.Size = 6
.SeriesCollection(1).DataLabels.ShowValue = False
.SeriesCollection(1).DataLabels.ShowPercentage = True
End With
End Sub
Dernière édition: