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 :

Graph Absice max et plusieurs séries [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Mars 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Contrôleur de Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 312
    Points : 144
    Points
    144
    Par défaut Graph Absice max et plusieurs séries
    Bonjour
    J'ai récupéré un code qui ne gére qu'une série.

    Comme j'ai plusieurs séries, je voudrais appliquer ce code aux différentes séries.
    Mais toujours avec la même borne d'abscisse

    Quelqu'un peut-il m'aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
     
    If Not Application.Intersect(Target, Range("b12:b15,c7:e7")) Is Nothing Then
        ActiveSheet.ChartObjects(1).Activate
        With ActiveChart
            .Axes(xlValue).MinimumScale = Range("B12").Value
            .Axes(xlValue).MaximumScale = Range("B13").Value
            .Axes(xlCategory).MinimumScale = Range("B14").Value
            .Axes(xlCategory).MaximumScale = Range("b15").Value
        End With
    End If
    End Sub

    Merci de votre aide

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Bonjour,

    Ce code ne s'applique pas directement aux séries mais aux axes du graphique. Peux-tu donner quelques précisions complémentaires ? A quoi correspondent les cellules de la plage B12:B15 ? Comment sont-elles calculées ?
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  3. #3
    Membre émérite
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2011
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Irlande

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Novembre 2011
    Messages : 1 503
    Points : 2 657
    Points
    2 657
    Par défaut
    Pour ajouter une série :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            'Add a SerieCollection
            .SeriesCollection.NewSeries
            With .SeriesCollection(.SeriesCollection.Count)
                .Name = "My name"
                .ChartType = xlLine
                .Values = Worksheets("Feuil1").Range("A1:A10") 'Your Y values
                .XValues = Worksheets("Feuil1").Range("B1:B10") 'Your X values
                .Border.Weight = xlThick
                .Border.Color = RGB(0, 0, 255)
            End With
    Dis moi si ca te convient ou d'avantage d'explications si tu veux plus d'aide !
    La logique :
    • Plus ya de gruyère, moins ya de gruyère.
    • Plus tu pédales moins vite, moins tu avances plus vite.
    Plusoyer les réponses pertinentes et n'oublier pas de résolver en fin de post !

  4. #4
    Membre habitué
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Mars 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Contrôleur de Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 312
    Points : 144
    Points
    144
    Par défaut
    Daniel,

    Pour te répondre,

    J'ai plusieurs séries. J'ai calculé dans d'autres cellules:
    - le min et max des valeurs de ces séries (notion de coût)
    - le min et max de ces séries (notion de volume)
    Voici le code en fonction de mon graph
    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
    Sub Worksheet_Change(ByVal Target As Range)
     
     
     
    If Target.Count > 1 Then Exit Sub
     
    If Not Application.Intersect(Target, Range("a19:a20,d19:d20")) Is Nothing Then
     
        ActiveSheet.ChartObjects(1).Activate
        With ActiveChart
            .Axes(xlValue).MinimumScale = Range("d19").Value
            .Axes(xlValue).MaximumScale = Range("d20").Value
            .Axes(xlCategory).MinimumScale = Range("a19").Value
            .Axes(xlCategory).MaximumScale = Range("a20").Value
     
        End With
    End If
    End Sub
    donc en conséquence d19:d20 correspondent à :

    d19 : min axes ordonnées
    d20 : max axe ordonnées

    et a19:a20

    a19 : min axes abscice
    a20: max axes absice


    Et j'ai une erreur 1004 "définir propriété MinimumScale de la Classe Axis"

  5. #5
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 203
    Points : 14 354
    Points
    14 354
    Par défaut
    Pas facile à dire comme ça; quelle est la valeur de la cellule ?
    Cordialement.

    Daniel

    La plus perdue de toutes les journées est celle où l'on n'a pas ri. Chamfort

  6. #6
    Membre habitué
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Mars 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Contrôleur de Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2011
    Messages : 312
    Points : 144
    Points
    144
    Par défaut
    Daniel,

    Merci pour cette interrogation?

    Car en effet les cellules c19:c20 étaient vides

    Voici le code final si ça peut servir pour d'autres.

    J'ai juste modifier pour que l'ajustement des abscisses et ordonnées s'effectuent au clique sur l'onglet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Worksheet_Activate()
     
     
        ActiveSheet.ChartObjects(1).Activate
        With ActiveChart
            .Axes(xlValue).MinimumScale = Range("d19").Value
            .Axes(xlValue).MaximumScale = Range("d20").Value
            .Axes(xlCategory).MinimumScale = Range("b19").Value
            .Axes(xlCategory).MaximumScale = Range("b20").Value
     
        End With
     
    End Sub

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 10/07/2012, 09h54
  2. Graphe bâton avec plusieurs séries
    Par hobine dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 30/11/2011, 09h21
  3. [VB]Graphique Excel avec VB, plusieurs séries
    Par SimonBrodeur dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/01/2006, 09h43
  4. sélection d'un max parmi plusieurs champs
    Par invitésuprise dans le forum Langage SQL
    Réponses: 2
    Dernier message: 12/08/2005, 13h49
  5. [TChart] Comment empiler plusieurs séries ?
    Par coucoucmoi dans le forum Composants VCL
    Réponses: 11
    Dernier message: 26/07/2005, 10h44

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