probleme pour afficher 2 séries sur un graphique

  • Initiateur de la discussion chris
  • Date de début
C

chris

Guest
bonjour!
je veux créer un graphique en courbe avec 2 séries: la première s'affiche mais j'ai une erreur sur la deuxième. Il faut savoir que les valeurs que j'utilise pour chaque séries sont stockées dans un tableau chacune. Voici mon programme:
Charts.Add
ActiveChart.ChartType = xlLineMarkers
ActiveChart.Location where:=xlLocationAsObject, Name:='eta_pond'
With ActiveChart
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = xi()
.SeriesCollection(1).Values = moy_éta()
.SeriesCollection(1).Name = 'moyenne par concentration'
.SeriesCollection(2).Values = est_pond()
.SeriesCollection(2).Name = 'estimation pondérée'
.ChartType = xlLine
End With

'-------------
les tableaux sont 'xi()' pour les abscisses
moy_éta() et est_pond() sont les courbes à afficher.

Merci pour votre aide!!!
 

MichelXld

XLDnaute Barbatruc
bonjour Chris


il faut aussi que tu ajoutes la 2eme serie

.SeriesCollection.NewSeries

avant d'integrer les données de la Serie 2



combien de données as tu dans tes tableaux() ?

en utilisant cette methode , il est possible que tu sois limité par le nombre caracteres autorisé dans la barre de formules

=SERIE(Feuil1!$B$2:$B$5;.....)

il me semble que le nombre de caracteres maxi est de 255



bon apres midi
MichelXld

Message édité par: michelxld, à: 10/03/2006 12:41
 
C

chris

Guest
Merci bcp pour votre aide, les deux séries s'affiche maintenant mais une troisième apparait sans que je l'appelle (il s'agit d'un point seul)...
autre chose: les valeurs des séries étant stockée dans des tableaux définis en taille max 10, j'ai forcement 10 points alors que je voudrais parfois en avoir moins, i.e que cela prenne dans mes tableaux x points;(sinon, ça mets les derniers à 0 et donc ça fausse les résultats). Est-ce que c'est possible?
 

MichelXld

XLDnaute Barbatruc
rebonjour Chris

il n'y a pas de raison que tu ais un point supplémentaire : verifie ta macro

ci joint un exemple qui créée 2 series dans le graphiques à partir de tableaux

Sub creationGraphiqueParTableau()
Dim i As Byte
Dim Tableau(10) As Integer, Tableau2(10) As Integer

For i = 1 To 10 'tableau abscsisses
Tableau(i) = i * 2
Next i

For i = 1 To 10 'tableau ordonnées
Tableau2(i) = Int((50 * Rnd) + 1)
Next i

Charts.Add
ActiveChart.Location _
Where:=xlLocationAsObject, Name:='Feuil1'
With ActiveChart
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = Tableau()
.SeriesCollection(1).Values = Tableau2()
.ChartType = xlLine
End With

For i = 1 To 10 'tableau ordonnées
Tableau2(i) = Int((50 * Rnd) + 1)
Next i

With ActiveChart
.SeriesCollection.NewSeries
.SeriesCollection(2).XValues = Tableau()
.SeriesCollection(2).Values = Tableau2()
.ChartType = xlLine
End With

End Sub



pour ta derniere question , voici un exemple qui gere les tableaux de grandeur variable , en utilisant ReDim Preserve
( le nombre de points et défini par la donnée x )

Option Explicit
Option Base 1

Sub creationGraphiqueParTableauVariable()
Dim i As Byte, x As Byte
Dim Tableau() As Integer, Tableau2() As Integer

x = 7 ' nombre de point dans la serie

For i = 1 To x 'tableau abscsisses
ReDim Preserve Tableau(i)
Tableau(i) = i * 2
Next i

For i = 1 To x 'tableau ordonnées
ReDim Preserve Tableau2(i)
Tableau2(i) = Int((50 * Rnd) + 1)
Next i

Charts.Add
ActiveChart.Location _
Where:=xlLocationAsObject, Name:='Feuil1'
With ActiveChart
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = Tableau()
.SeriesCollection(1).Values = Tableau2()
.ChartType = xlLine
End With

End Sub



bonne soirée
MichelXld
 

Discussions similaires

Réponses
1
Affichages
177
Réponses
0
Affichages
157

Statistiques des forums

Discussions
312 331
Messages
2 087 353
Membres
103 528
dernier inscrit
hplus