Excel, tracé de deux courbes _ ajout d'un axe des ordonnées
amoniaque
Messages postés20Date d'inscriptionvendredi 23 novembre 2007StatutMembreDernière intervention 7 avril 2009
-
6 mars 2009 à 14:08
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 2010
-
6 mars 2009 à 21:30
Bonjour,
J'utilise actuellement Excel pour tenter d'afficher deux courbes et ceci en passant par vb.Net.
J'ai deux questions à propos de cet affichage :
<li>Question1</li>
Pour afficher ces courbes j'ajoute un
composant graphique à mon classeur, lui attribue les données à afficher
et ça fonctionne mais sur une seule courbe !
Voici une partie de mon code : (Graph est mon graphique, tabXY est mon tableau de données que j'ai recopié dans une feuille)
Le souci est que je ne sais pas du tout
comment faire pour appliquer une deuxième courbe à mon graphique parce
que si j'utilise de nouveau la fonction SetSourceData(,) avec les nouvelles données, alors la première courbe va prendre les valeurs de la seconde...
Existe-y-il une solution pour ajouter une seconde courbe?<li>Question2</li>Dans le cas où j'arrive à afficher mes deux courbes, il faudrait que j'attribue un axe des ordonnées par courbe.
Dans mon cas j'aurais un axe des abscisses commun aux deux courbes et la première aurait comme axe des ordonnées celui de gauche et la deuxième courbe aurait l'axe de gauche.
Est-t-il possible d'ajouter un axe des ordonnées et si oui, comment faire pour attribuer cet axe à la courbe souhaitée?
J'ai tenté de regarder comment était créée une macro en VBA mais en transposant les lignes de commandes sur vb.Net, ça n'a donné que des erreurs...
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 20104 6 mars 2009 à 21:22
Bonjour
Pour ajouter une série à ton objet graph, utilise la méthode NewSeries de la collection SeriesCollection ; essaie le code ci-dessous (à ajouter juste après l'instruction Graph.SetSourceData :
Dim serieDonnees As String
sourceDonnees = "R1C1:R100C1" ' source de donnees en notation R1C1
graph.SeriesCollection.NewSeries ' ajoute un élément à la collection SeriesCollection
With graph.SeriesCollection(Ubound(SeriesCollection))
.Values = sourceDonnees
.ChartType = Excel.XlChartType.xlXYScatterSmoothNoMarkers
End With
Je ne sais pas si comment on peut ajouter un deuxième axe.
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 20104 6 mars 2009 à 21:30
Autant pour moi, Jill Ubound(SeriesCollection) est invalide. Pour accéder au dernier élément d'une collection, il faut utiliser la propriété Count et non la fonction Ubound.
Voici le code corrigé :
Dim serieDonnees As String
dim numeroSerie As Integer
sourceDonnees = "R1C1:R100C1" ' source de donnees en notation R1C1
graph.SeriesCollection.NewSeries ' ajoute un élément à la collection SeriesCollectionnumeroSeries numeroSerie graph.SeriesCollection.Count
With graph.SeriesCollection(numeroSeries)
.Values = sourceDonnees
.ChartType = Excel.XlChartType.xlXYScatterSmoothNoMarkers
End With