IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

Ajout d'une série à mon Graphique croisé dynamique via VBA [AC-2003]


Sujet :

IHM

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 17
    Points : 16
    Points
    16
    Par défaut Ajout d'une série à mon Graphique croisé dynamique via VBA
    je cherche à ajouter un second axe a mon graphique croisé dynamique.

    lorsque je fais le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Me.ChartSpace.SetData chDimCategories, chDataBound, "Month"
     
    Me.ChartSpace.SetData chDimValues, chDataBound, "VBudget"
    Me.ChartSpace.SetData chDimValues, chDataBound, "VActual"
    Seul les données VActual apparaissent et prennent la place des données VBudget. Je n'arrive pas a afficher mes deux séries en meme temps. Comment puis-je modifier mon code pour faire en sorte d'avoir les deux séries simultanément?
    Et la question bonus serait comment modifier la légende de manière à ce que chaque série apparaissent correctement avec un nom predefini.
    je ne suis pas trés expert en macro et surtout sur access...

    Merci beaucoup

  2. #2
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 17
    Points : 16
    Points
    16
    Par défaut solution "partielle"
    J'ai finalement trouvé un code qui me permet de résoudre le problème. Or, ce code n'est pas "fiable". Il fonctionne mais une fois sur 5 (en moyenne), lorsque la macro s'active, l'application plante en inscrivant Erreur d'éxécution 3424 Objet incorrect ou non défini.


    Voici donc la solution partielle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    Forms![frm_MENSUAL_REPORT]![ssfrm_MONTHLY_VIEW_GRAPH].Form.RecordSource = rqt_MONTHLY_VIEW
     
    Dim ap As DAO.Database
    Dim rs As DAO.Recordset
     
    Set ap = CurrentDb
     
    Set rs = Forms![frm_MENSUAL_REPORT]![ssfrm_MONTHLY_VIEW_GRAPH].Form.Recordset
     
     If rs.EOF Then
     
     rs.MoveFirst
      Do While Not rs.EOF
          Xaxe = Xaxe & rs.Fields("Month").Value & Chr(9)
     
          ValueYaxe1 = Nz(ValueYaxe1, 0) + Nz(rs.Fields("VActual").Value, 0)
          Yaxe1 = Yaxe1 & Format(ValueYaxe1, "###0") & Chr(9)
     
          ValueYaxe2 = Nz(ValueYaxe2, 0) + Nz(rs.Fields("VBudget").Value, 0)
          Yaxe2 = Yaxe2 & Format(ValueYaxe2, "###0") & Chr(9)
     
            rs.MoveNext
     
        Loop
     
     
     
    With Forms![frm_MENSUAL_REPORT]![ssfrm_MONTHLY_VIEW_GRAPH].Form.ChartSpace
        .Clear
        .Charts.Add
        .Charts(0).Type = .Constants.chChartTypeLine
        .Charts(0).HasLegend = True
     
        .Charts(0).SeriesCollection.Add
        .Charts(0).SeriesCollection(0).SetData .Constants.chDimCategories, .Constants.chDataLiteral, Xaxe
     
        .Charts(0).SeriesCollection.Add
        .Charts(0).SeriesCollection(0).Caption = "Actual"
        .Charts(0).SeriesCollection(0).SetData .Constants.chDimCategories, .Constants.chDataLiteral, Xaxe
        .Charts(0).SeriesCollection(0).SetData .Constants.chDimValues, .Constants.chDataLiteral, Yaxe1
     
     
        .Charts(0).SeriesCollection.Add
        .Charts(0).SeriesCollection(1).Caption = "Budget"
        .Charts(0).SeriesCollection(1).SetData .Constants.chDimCategories, .Constants.chDataLiteral, Xaxe
        .Charts(0).SeriesCollection(1).SetData .Constants.chDimValues, .Constants.chDataLiteral, Yaxe2
     
      rs.Close
     
      Set rs = Nothing
     
    End With
     
    Else
    End If
    Quelqu'un a t il une idée sur les sources de l'erreur qui apparait et qui bloque l'application ? erreur 3420. Je croyais que j'y étais enfin... et non...
    Merci !!

    je continue à investiguer sur le moment précis ou la macro fait planter l'appli:

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 17
    Points : 16
    Points
    16
    Par défaut solution
    J'ai finalement trouvé ma solution;
    Le code ci-dessus est juste mais l'erreur était due à la position du code ci-dessous dans la macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim ap As DAO.Database
    Dim rs As DAO.Recordset
    Set ap = CurrentDb
    Ce code doit être mis au tout début de la macro.

    Maintenant, tout va mieux... ouf

    En espérant que ça puisse aider quelques personnes pas très expertes qui décident de se lancer dans les graphiques croisées dynamiques...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ajouter automatiquement une série à un graphique
    Par julking92 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/06/2015, 14h04
  2. [AC-2007] Ajouter un bouton dans un graphique croisé dynamique
    Par Marine12 dans le forum Access
    Réponses: 1
    Dernier message: 14/03/2013, 20h44
  3. [AC-2007] Graphique Croisé Dynamique sous VBA
    Par GohanSSj2 dans le forum VBA Access
    Réponses: 4
    Dernier message: 10/11/2010, 17h58
  4. [AC-2003] Paramétrage de graphique croisé dynamique par VBA ?
    Par marot_r dans le forum IHM
    Réponses: 0
    Dernier message: 04/05/2009, 17h38
  5. [A03] inserer une droite dans graphique croisé dynamique
    Par albator113 dans le forum VBA Access
    Réponses: 1
    Dernier message: 18/03/2009, 09h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo