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

Macros et VBA Excel Discussion :

Graphique par macro


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Graphique par macro
    Bonjour,
    Nous avons un tableau de données sur chaque feuille d'excel qui correspond aux différents mois de l'année. Nous voulons faire un graphique suivant les mois. Nous aimerions que notre macro fasse le graphique suivant le mois donné par l'utilisateur.
    On a fait un programme mais celui ne fonctionne pa, il plante à la fin, au niveau de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveChart.SeriesCollection(1).Values = _lignValue
    Voici le programme que nous avons écrit:

    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
    Sub graphR_journalier(Mois)
     
    Dim lignValue As String
    Dim lignX As String
    Dim i As Integer
     
     
    'Sélection de la feuille excel suivant le mois'
        Sheets(Mois).Select
     
        'On cherche les lignes à sélectionner pour le graphique car dans excel nos tableaux comportene des lignes vides'
            'Initialisation (tjr le même début)'
             lignValue = "=" & Mois & "!$G$3"
             lignX = "=" & Mois & "!$B$3"
             i = 3
             While cells(i, 1) <> ""
                If cells(i, 2) <> " " Then
                    i = i + 1
                Else
                    lignValue = lignValue & ":$G$" & i - 1 & ";" & Mois & "!$G$" & i + 2
                    lignX = lignX & ":$B$" & i - 1 & ";" & Mois & "!$B$" & i + 2
                    i = i + 1
                End If
            Wend
            lignValue = lignValue & ":$G$" & i - 1
            lignX = lignX & ":$B$" & i - 1
     
     
       Sheets("GraphR_j").Select
        'On active le graphique à changer'
        ActiveSheet.ChartObjects("Graphique 1").Activate
     
        'On change les données des recettes'
        ActiveChart.SeriesCollection(1).Values = _lignValue
     
        'On change l'axe des absisses'
        ActiveChart.SeriesCollection(1).XValues = _lignX
     
    End Sub
    merci

  2. #2
    Membre habitué
    Inscrit en
    Novembre 2007
    Messages
    293
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 293
    Points : 125
    Points
    125
    Par défaut
    normalement pour déterminer la zone de donnée d'un graphe il faut la définir dans un objet range
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    sub graph()
    dim zone as range
    dim graph as chart
     
    set zone = worksheets(1).range(cells(premiere ligne, premierecolonne), cells(derniereligne, dernierecolonne))
     
    set graph = thisworkbook.charts.add
    end sub
    pour coder les caractéristiques de ton graphe il faudrait enregistrer la macro pendant que tu définit ton graphique et reporter ensuite le code dans ta prore macro.

    c'est le plus simple

  3. #3
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 342
    Points : 4 299
    Points
    4 299
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveChart.SeriesCollection(1).Values = _lignValue
    C'est fait exprès le '_' devant ton nom de variable ? qu'est-ce qu'il vient faire la ? pourquoi tu met pas lignValue plutot ? c'est ta variable non ?

    Et pour LignX je dirai pareil

Discussions similaires

  1. Réponses: 10
    Dernier message: 01/07/2014, 16h12
  2. [XL-2007] Tracer Graphique par Macro
    Par Caennais dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 19/12/2011, 18h53
  3. Problème génération graphique par macro VBA
    Par Quent4491 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 11/05/2011, 15h00
  4. Rafraichissement d'un Graphique par macro
    Par Djams78 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/03/2011, 13h54
  5. Manipulation de graphiques par une macro
    Par C.R.E.A.M dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 03/08/2007, 16h10

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