Zsalsa
Messages postés3Date d'inscriptionlundi 18 août 2008StatutMembreDernière intervention19 août 2008
-
18 août 2008 à 11:26
Zsalsa
Messages postés3Date d'inscriptionlundi 18 août 2008StatutMembreDernière intervention19 août 2008
-
19 août 2008 à 10:43
Bonjour,
Voila une semaine que je reste coincé sur une erreur d'execution 91 lors de l'execution d'un graphique, vba refuse e configurer l'axe des abscisse, merci d'avance à tout ce ux qui pourrai m'aider cela me permettrait d'avancer dans mon stage.
Voila le problème :
Sur une feul1( FeuilEmplacementGraphique) j'ai une liste d'intitulé sur la colonne A
Sur une feuil2(FeuilHistorique) c est une liste d'intitulé sur la colonne A aussi et sur la premiere ligne se trouve les Dates.
Je crée une premiere variable abscisse à l'aide d'une boucle for abscisse pour lui indiquer l'abscisse de mon graphique.
Ensuite à la l'aide de la fonction StrComp, des que l'intitulé de la feuil1 correspond à l'intitulé de la feuil2, alors il me répurère les donnée (qui sont en lignes) et je lui dit que se sont mes ordonnées.
Lors de la configuration d'une graphique, lorsque je veux affecter à l'axe des abcisse et ordonnée mes variable précédente il me met l'erreur d'execution 91 "variable objet ou variable de bloc with non définie".
Merci à tous d'avance pour votre aide.
Voila mon Code
Sub GraphiqueDeTendance(FeuilHistorique As Worksheet, FeuilEmplacementGraphique As Worksheet)
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim h As Integer
Dim NombreDePratique As Integer
Dim PratiqueVoulu As String
Dim PratiqueActuelle As String
Dim DatesTemporaire() As Variant
Dim Valeur As Variant
Dim DerniereDate As Integer
Dim Abscisse() As Date
Dim Ordonnee() As Double
FeuilEmplacementGraphique.Select
'On efface les graphique si il existe
ActiveSheet.DrawingObjects.Delete
k = 1
FeuilHistorique.Select
'on détermine le nombre de date afin que le graphique prenne en comte les derniere dates d'historisation
While Cells(1, k) <> ""
k = k + 1
Wend
DerniereDate = k - 1
ReDim Abscisse(2 To DerniereDate) As Date
ReDim Ordonnee(2 To DerniereDate) As Double
'Création de la variable abscisse et affectation des dates
For i = 2 To DerniereDate
Abscisse(i) = Cells(1, i).Value
Next i
For j = 1 To 50
PratiqueActuelle = FeuilHistorique.Cells(j, 1)
'Si la pratique de FeuilEmplacementGraphique correspondant à la pratique de la Feuil D'historisation
'alors tu récupère les données
If StrComp(PratiqueVoulu, PratiqueActuelle) = 0 Then
For h = 2 To DerniereDate
FeuilHistorique.Select
'Affectation des données pour les ordonnée
Ordonnee(h) = Cells(j, h).Value
FeuilEmplacementGraphique.Select
Next h
'on ajoute le graphique et on indique son emplacement sa hauteur et sa largeur)
ActiveSheet.ChartObjects.Add(Left:=100, Width:=400, Top:=75, Height:=230).Select
'on indique le type de graphique : ici en ligne
ActiveChart.ChartType = xlLine
'on indique l'emplacement des sources du graphique
ActiveChart.SetSourceData Source:=FeuilEmplacementGraphique.Cells(2, 2), PlotBy:=xlLine
'on ajoute les séries
ActiveChart.SeriesCollection.NewSeries
'on l'indique les valeurs que prenne l'axe des absisses
FeuilHistorique.Select
ActiveChart.SeriesCollection(1).XValues = Abscisse ---> à partir de cette ligne ça pose probleme
'on recommence pour l'axe des ordonnées
ActiveChart.SeriesCollection(1).Values = Ordonnee