[Résolu]Nommer un graphique / Supprimer un graphique spécifier

sebm1976

XLDnaute Nouveau
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
 
Dernière édition:

sebm1976

XLDnaute Nouveau
Re : Nommer un graphique / Supprimer un graphique spécifier

Bonjour Staple1600,

J'ai parcouru de nombreux post concernant les graph, mais je ne parviens pas à adapter activesheets.chartobject.name à mon code.

Je pensais pouvoir le faire à partir de l'objet graphclient (with graphclient.chart.name=("Client") ) mais j'ai un message ressource mémoire insuffisante (???).

Cordialement.
 

Staple1600

XLDnaute Barbatruc
Re : Nommer un graphique / Supprimer un graphique spécifier

Re

Test OK sur Excel 2013
(Mettre des données en A1:B10 avant de tester)
Code:
Sub CREER_GRAPH()
Dim Plage As Range: Set Plage = Sheets("Feuil1").Range("A1:B10")
With ActiveSheet.ChartObjects.Add _
    (Left:=180, Width:=375, Top:=75, Height:=225)
    With .Chart
        .ChartType = xlColumnClustered
        .SetSourceData Source:=Plage
        .Parent.Name = "TOTO"
    End With
End With
End Sub
Code:
Sub SUPPRIMER_GRAPH()
'Merci aux neurones de Jon Peltier. ;o)
Dim objCht As ChartObject
On Error Resume Next
Set objCht = ActiveSheet.ChartObjects("TOTO")
If Not objCht Is Nothing Then
objCht.Delete
End If
End Sub

PS: Je te laisse faire l'adaptation avec ton code VBA existant.
 

Membres actuellement en ligne

Statistiques des forums

Discussions
314 450
Messages
2 109 730
Membres
110 553
dernier inscrit
loic55