Erreur d'execution 91 sur un graphique a VBA

Signaler
Messages postés
3
Date d'inscription
lundi 18 août 2008
Statut
Membre
Dernière intervention
19 août 2008
-
Messages postés
3
Date d'inscription
lundi 18 août 2008
Statut
Membre
Dernière intervention
19 août 2008
-
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 i = 1 To 50
    FeuilEmplacementGraphique.Select

    PratiqueVoulu = FeuilEmplacementGraphique.Cells(i, 1).Value
    
    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                                 
                                
            Exit For
        End If
    Next j
Next i
 
      

End Sub

2 réponses

Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
8
Mauvaise section.
Messages postés
3
Date d'inscription
lundi 18 août 2008
Statut
Membre
Dernière intervention
19 août 2008

Dans quel section je dois allez dit moi