VBA Graphique sélection de données et nom

Fermé
luciole - 26 nov. 2007 à 01:19
 roob1 - 3 mars 2008 à 12:01
Bonjour,

Premier problème, j'ai deux séries de valeurs que je calcule sous VBA (deux colonnes). Je souhaiterai tracé dans un graphe l'une en fonction de l'autre,
mais je n'ai aucune idée du comment.
Deuxième problème, je souhaiterai supprimer ce graphe en fin d'éxécution du programme mais je ne peux pas car il me faudrait un nom...
(le nom automatique d'excel change à chaque fois que l'on en recrée un).

Pour l'instant j'utilise le début de code qui suit :

ActiveSheet.Shapes.AddChart.Select
ActiveChart.SetSourceData Source:=Range("Données!$F$2:$F$700")
ActiveChart.ChartType = xlXYScatterLinesNoMarkers


Et j'obtient un graphe dont les abscisses sont les numéros de ligne, en ordonnée mes valeurs. Comment choisir l'ordonnée? Comment nommer mon graphique dans le code pour pouvoir ensuite le reconnaitre?

Merci beaucoup,
Luciole

3 réponses

Bonjour

ActiveChart.SetSourceData Source:=Range("Données!$F$2:$F$700";"Données!$H$2:$H$700")


Pour associer ton graphique à une variable dans le code, pour pouvoir l'effacer plus tard :
Dim MonGraphique
...
ActiveSheet.Shapes.AddChart.Select
Set MonGraphique=ActiveChart 
0
Bonjour,

merci pour cette réponse rapide, mais je n'ai pu qu'essayer ce midi. Il m'affiche une erreur de compilation dès que je quitte la ligne.
La boite de dialogue indique " Erreur de compilation Attendu : séparateur de liste ou ) " et il me pointe le point virgule reliant les deux jeux de données:

ActiveChart.SetSourceData Source:=Range("Données!$F$2:$F$700"; "Données!$E$2:$E$700")


Peut être que je me suis trompé dans l'ordre de mise en forme :

Dim MonGraphique As Chart
....
ActiveSheet.Shapes.AddChart.Select
Set MonGraphique = ActiveChart
ActiveChart.SetSourceData Source:=Range("Données!$E$2:$E$700"; "Données!$F$2:$F$700")

Ou, il y a-t-il une différence entre VBA sous Excel 2003 et 2007 ?

Cordialement,
Luciole
0
Bonjour

J'ai exactement le meme probleme que toi (le premier).
Quelqu'un a une solution?

Merci d'avance,

David
0