cherche comment effacer tous les données d'un graphique

kettou

XLDnaute Junior
Bonjour à tous,
je me joins à vous en espérant que vous ayez une solution à mon probléme
En fait g crée un graphe (plituot il est deja créer) auquel à l'aide d'une macro vba je l'alimente avec des données à laquelle la taille des données varie. mon souci c'est que ca bug a chaque ou la taille des donnée est inférieur à la précédente.
je voudrai savoir ou avoir si c'est possible une macro qui efface les données pour l'actualiser voici ma macro.

ActiveSheet.ChartObjects("Graphique 11").Activate
ActiveChart.ChartArea.Select

Debug.Print Worksheets("evolution DVRS ").Range("X1").Value
Dim k As Double


k = 1
Do

ActiveChart.SeriesCollection(1).Delete
k = k + 1
Loop While k <> Worksheets("evolution DVRS ").Range("X1").Value


For i = 1 To (DerLigne1 - 1)
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = Worksheets("evolution DVRS ").Range("DI5:DI16")
ActiveChart.SeriesCollection(i).Name = Worksheets("evolution DVRS ").Range("BC" & CStr(i + 1))
ActiveChart.SeriesCollection(i).Values = Workbooks("tbprodrcs.xls").Worksheets("evolution DVRS ").Range("BE" & CStr(i + 1) & ":" & "BP" & CStr(i + 1))
Next
Worksheets("evolution DVRS ").Range("X1").Value = Val(DerLigne1 - 1)

J'attend impatiemment vos réponses
Merci
cdt
 

Catrice

XLDnaute Barbatruc
Re : cherche comment effacer tous les données d'un graphique

Bonjour,

Ce n'est pas tres clair mais ...
en fait tu delete les Series pour les recréer
Pourquoi ne pas tout simplement modifier les Series ?


For i = 1 To (DerLigne1 - 1)
ActiveChart.SeriesCollection(i).XValues = Worksheets("evolution DVRS ").Range("DI5I16")
ActiveChart.SeriesCollection(i).Name = Worksheets("evolution DVRS ").Range("BC" & CStr(i + 1))
ActiveChart.SeriesCollection(i).Values = Workbooks("tbprodrcs.xls").Worksheets("evolution DVRS ").Range("BE" & CStr(i + 1) & ":" & "BP" & CStr(i + 1))
Next

Il faudrait fournir un petit echantillon de fichier.
 

kettou

XLDnaute Junior
Re : cherche comment effacer tous les données d'un graphique

Bonjour,

Ce n'est pas tres clair mais ...
en fait tu delete les Series pour les recréer
Pourquoi ne pas tout simplement modifier les Series ?


For i = 1 To (DerLigne1 - 1)
ActiveChart.SeriesCollection(i).XValues = Worksheets("evolution DVRS ").Range("DI5I16")
ActiveChart.SeriesCollection(i).Name = Worksheets("evolution DVRS ").Range("BC" & CStr(i + 1))
ActiveChart.SeriesCollection(i).Values = Workbooks("tbprodrcs.xls").Worksheets("evolution DVRS ").Range("BE" & CStr(i + 1) & ":" & "BP" & CStr(i + 1))
Next

Il faudrait fournir un petit echantillon de fichier.

re,
deja merci pour ta reponse. je delete les series car la taille des series varient a chaque fois ca me pose pb par la suite dans le graphe.
cdt
 

kettou

XLDnaute Junior
Re : cherche comment effacer tous les données d'un graphique

Bonjour Catrice,
Merci infiniment pour ton aide et ton attention, le code me parait assez cohérent et en réponse a mes besoins sauf que le nombre de toto dans ton programme ne varie pas (toujours egal à 2 alors que dans le mien il est variable), ce pendant ca bug au niveau de la methode delete (erreur 1004methode delete echoué) que je ne comprend pas aurait tu une idée?
Cdt
 
Dernière édition:

kettou

XLDnaute Junior
Re : cherche comment effacer tous les données d'un graphique

Bonjour,

Je ne vois pas de quel toto tu parles ?!
Chez moi ça ne plante pas.
Peux tu préciser et/ou poster un bout de fichier ?
non c'est bon probléme réglé (il fallait paramétrer l'option graphique), Sinon derniére demande je voudrai réccupérer l'adresse de la derniére cellule de ma plage de series de données sachant que le graphique est mensuelle et chaque mois il est incrémenté d'une donnée.
Engros maplage commence à partir de la cellule "BB2" et je voudrai réccupérer l'adresse de la derniérecolonne de la ligne par ex BP2.
Commment je fais.
Merci d'avance pour ta réponse Catrice :)
Cdt
 

Catrice

XLDnaute Barbatruc
Re : cherche comment effacer tous les données d'un graphique

Re,

voici :

Sub Test()
MsgBox Range("IV2").End(xlToLeft).Column 'donne le N° de la derniere colonne pleine
MsgBox Range("IV2").End(xlToLeft).Column 'donne l'adresse de la derniere cellule pleine de cette ligne
Set Var1 = Range("BB2:" & Range("IV2").End(xlToLeft).Address) 'Definit la zone allant de BB2 à PP2 par exemple
MsgBox Var1.Address 'renvoit l'adresse de cette zone
Var1.Select 'Selectionne cette zone
'Etc ...
End Sub
 

kettou

XLDnaute Junior
Re : cherche comment effacer tous les données d'un graphique

re,
j'ai essayé avec ce que tu m as donné mais ca ne m'envois pas la bonne adresse
je t'envoi le fichier comme ca t aurai une idée plus clair du probléme
merci
 

Pièces jointes

  • test2.zip
    21.1 KB · Affichages: 35
  • test2.zip
    21.1 KB · Affichages: 42
  • test2.zip
    21.1 KB · Affichages: 37

Catrice

XLDnaute Barbatruc
Re : cherche comment effacer tous les données d'un graphique

Bonsoir,

Autant pour moi, j'avais oublié ActiveSheet ou Sheets("Mafeuille").

Sub Test()
With ActiveSheet
MsgBox .Range("IV2").End(xlToLeft).Column 'donne le N° de la derniere colonne pleine
MsgBox .Range("IV2").End(xlToLeft).Address 'donne l'adresse de la derniere cellule pleine de cette ligne
Set Var1 = .Range("BB2:" & .Range("IV2").End(xlToLeft).Address) 'Definit la zone allant de BB2 à PP2 par exemple
MsgBox Var1.Address 'renvoit l'adresse de cette zone
Var1.Select 'Selectionne cette zone
End With
End Sub
 

Discussions similaires

Réponses
0
Affichages
155

Statistiques des forums

Discussions
312 305
Messages
2 087 077
Membres
103 455
dernier inscrit
saramachado