Rechercher : dans
Par :

VBA Graphique sélection de données et nom

Dernière réponse le 3 mar 2008 à 12:01:45 luciole, le 26 nov 2007 à 01:19:25 
 Signaler ce message aux modérateurs

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
Configuration: Windows XP
Internet Explorer 6.0
Excel 2007

Meilleures réponses pour « VBA Graphique sélection de données et nom » dans :
Choisir sa carte graphique en fonction de sa référence VoirClassement des cartes graphiques par leur référence Les conseils pour le choix d'une carte graphique sont données dans l'astuce : Choisir une carte graphique pour son PC Ici, on va donner les clés de décodage pour comprendre comment les...

1

le père, le 26 nov 2007 à 09:39:05

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 

Répondre à le père

2

Luciole, le 27 nov 2007 à 12:34:40

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

Répondre à Luciole

3

 roob1, le 3 mar 2008 à 12:01:45

Bonjour

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

Merci d'avance,

David

Répondre à roob1