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 :

Second axe sur Chartspace OWC


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Janvier 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2016
    Messages : 112
    Par défaut Second axe sur Chartspace OWC
    Bonjour,

    Je reviens vers la communauté, car après de multiples recherche je suis toujours bloqué sur mon problème.
    Le problème c'est que l'échéance de mon projet approche et je n'arrive toujours pas a résoudre ce problème de 2eme axes ...

    En effet je pensais avoir trouvé la solution en cela en créant un deuxième et mettant ungroup sur les 2 séries que je voulais séparées.

    Le problème c'est que l'axe se définit sur une seule série (Séparées) et l'autre s'ajuste toute seule. Donc rien n'est sur la même référence. Ce que je voudrais c'est que les deux premières séries soient ensemble et les deux dernières sur un second axe.
    Je vous met mon code dessous, j'ai vraiment besoin de votre aide !


    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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
     ' #######################################################################################
    '                                                               MISE EN PLACE DU GRAPHIQUE
     ' #######################################################################################
          Dim S1 As Object, S2 As Object, S3 As Object, S4 As Object
          Dim TabAbscisses(), TabOrdonnees(), TabOrdonnees1(), TabOrdonnees2(), TabOrdonnees3()
          Dim Cht As ChChart
          Dim C As Object
     
          ChartSpace4.Clear
          ChartSpace4.Refresh
     
          ReDim TabAbscisses(0 To dercol_global - 2)
          ReDim TabOrdonnees(0 To dercol_global - 2)
          ReDim TabOrdonnees1(0 To dercol_global - 2)
          ReDim TabOrdonnees2(0 To dercol_global - 2)
          ReDim TabOrdonnees3(0 To dercol_global - 2)
     
          dercol_global = sheets("Indicateurs").Cells(25, Columns.Count).End(xlToLeft).Column ' dernière colonne dans la ligne 6
     
     
        'Remplissage des tableaux qui serviront à créer le graphique
        For i = 0 To dercol_global - 3
            TabAbscisses(i) = sheets("Indicateurs").Cells(25, i + 3).Value
            TabOrdonnees(i) = sheets("Indicateurs").Cells(29, i + 3).Value
            TabOrdonnees1(i) = sheets("Indicateurs").Cells(35, i + 3).value
            TabOrdonnees2(i) = sheets("Indicateurs").Cells(31, i + 3).value
            TabOrdonnees3(i) = -(sheets("Indicateurs").Cells(33, i + 3).Value)
        Next i
     
        Set C = ChartSpace4.Constants
        Set Cht = ChartSpace4.Charts.Add
     
        With Cht
            'Type de graphique
            .Type = C.chChartTypeScatterLineMarkers
            .HasLegend = True
            .Legend.Position = C.chLegendPositionBottom
        End With
     
     
         Set S4 = Cht.SeriesCollection.Add
             With S4
                  .Caption = "Stock SAPHIR"
                  .Type = C.chChartTypeLine
                  .SetData C.chDimCategories, C.chDataLiteral, TabAbscisses
                  .SetData C.chDimValues, C.chDataLiteral, TabOrdonnees
     
             End With
     
             Set S1 = Cht.SeriesCollection.Add
             With S3
                  .Caption = "Stock BAAN"
                  .Type = C.chChartTypeLine
                  .SetData C.chDimCategories, C.chDataLiteral, TabAbscisses
                  .SetData C.chDimValues, C.chDataLiteral, TabOrdonnees1
     
             End With
     
     
             Set S2 = Cht.SeriesCollection.Add
             With S2
     
                  .Caption = "Qté Entrées"
                  .Type = C.chChartTypeColumnClustered
                  .SetData C.chDimCategories, C.chDataLiteral, TabAbscisses
                  .SetData C.chDimValues, C.chDataLiteral, TabOrdonnees2
                   .Line.Color = RGB(0, 64, 224)
                   .Ungroup True
             End With
     
     
             Set S1 = Cht.SeriesCollection.Add
             With S1
                  .Caption = "Qté sorties"
                  .Type = C.chChartTypeColumnClustered
                  .SetData C.chDimCategories, C.chDataLiteral, TabAbscisses
                  .SetData C.chDimValues, C.chDataLiteral, TabOrdonnees3
                  .Line.Color = RGB(255, 0, 0)
                  .Ungroup True
             End With
     
                 Dim oAxis2Y
                 Set oAxis2Y = Cht.Axes.Add(S1.Scalings(chDimValues))
                 oAxis2Y.Position = chAxisPositionRight
                  oAxis2Y.HasMajorGridlines = False
    Je ne sais pas si a ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Dim oAxis2Y
                 Set oAxis2Y = Cht.Axes.Add(S1.Scalings(chDimValues))
                 oAxis2Y.Position = chAxisPositionRight
                 oAxis2Y.HasMajorGridlines = False
    Je peux grouper deux séries dessus ?

    Par avance merci de votre aide !

  2. #2
    Membre Expert

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Billets dans le blog
    1
    Par défaut
    pour les serie du deuxieme axe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .SeriesCollection(2).AxisGroup = 2
    juste vu avec l'enregistreur de macros

Discussions similaires

  1. OWC chartspace second axe
    Par Yullll dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/11/2017, 16h14
  2. Second axe pour graph sur userform
    Par celineSGH dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/07/2009, 05h40
  3. Imposer axes sur une figure
    Par lilibert dans le forum MATLAB
    Réponses: 4
    Dernier message: 02/07/2007, 17h08
  4. Ajouter un second axe pour les abscisses sur un graphique
    Par developpeur82 dans le forum MATLAB
    Réponses: 4
    Dernier message: 02/04/2007, 15h22
  5. [VB]Comment imprimer 1 graph généré dans un chartspace (OWC)
    Par alexxx69 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 29/01/2006, 21h56

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