VBa changer le format de l'axe d'un graphe Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
T
Timothe URVOY
Membre fidèle
Membre fidèle
Messages : 371
Inscrit le : 9 octobre 2014
Version d'Excel : Excel2010 & Excel2013

Message par Timothe URVOY » 14 décembre 2015, 10:49

Bonjour,
Je veux changer le format de l'axe horizontal (donc des abscisses) de mon graphe.
Avec l'enregistrement de macro, j'obtiens ça :
    'ActiveChart.Axes(xlCategory).Select
    'Selection.TickLabels.NumberFormat = "# ##0.00"
J'ai maladroitement tenté quelque chose de ce genre (j'ai effectué plusieurs tentatives en essayantde le placer à la création du graphe ou après l'ajout des valeurs) :

Set chCharge = Sheets("GrapheCharge").ChartObjects.Add(300, 1 + d, 400, 220)
chCharge.Name = "Graphe de Charge " + Feuille2
chCharge.Chart.ChartType = xlLine
Sheets("GrapheCharge").Chart(chCharge.Name).Axes(xlCategory).TickLabels.NumberFormat = "# ##0.00"

et je reçois le message :
Erreur 438 propriété ou méthode non gérée par cet objet

La partie création du graphe fonctionne, Du coup quelqu'un voit d'où cela pourrait venir ?

Merci
Je ne sais pas qui t'a dis de te servir de ta tête pour résoudre les problèmes ... mais ça ne voulait surement pas dire "sers-t'en SUR l'ordinateur" !
Avatar du membre
Jean-Eric
Fanatique d'Excel
Fanatique d'Excel
Messages : 16'402
Appréciations reçues : 671
Inscrit le : 27 août 2012
Version d'Excel : 365 Personnel

Message par Jean-Eric » 14 décembre 2015, 16:09

Bonjour,
Le forum apprécierait un fichier avec la procédure existante.
Cdlt.
Jean-Eric

Je ne réponds pas aux M.P. non sollicités.
T
Timothe URVOY
Membre fidèle
Membre fidèle
Messages : 371
Inscrit le : 9 octobre 2014
Version d'Excel : Excel2010 & Excel2013

Message par Timothe URVOY » 14 décembre 2015, 16:19

Bonjour,

Module 6, Macro grapheTest

Merci
TestPourCourbesV4.xlsm
(96.31 Kio) Téléchargé 29 fois
Je ne sais pas qui t'a dis de te servir de ta tête pour résoudre les problèmes ... mais ça ne voulait surement pas dire "sers-t'en SUR l'ordinateur" !
T
Timothe URVOY
Membre fidèle
Membre fidèle
Messages : 371
Inscrit le : 9 octobre 2014
Version d'Excel : Excel2010 & Excel2013

Message par Timothe URVOY » 15 décembre 2015, 13:42

Bonjour, j'ai refait le code, je ne suis parvenu à faire fonctionner que le code fourni par l'enregistreur de macro. J'essaierai de voir après ce qui plantait sur la version adaptée.

Sinon je rencontre une erreur 1004 dans mon code lorsque j'essaie de placer des valeurs sur le deuxième graphe. J'ai essayé de changer plusieurs correction mais je ne parviens pas à trouver d'où cela viens.
L'erreur apparait à la ligne 167 dans la macro GrapheDeCharge du module 7

est-ce que quelqu'un voit quelle variable ou appellation provoque l'erreur ?

PS : J'essaie de simplifier la macro en limitant les tests, il faut donc refermer les onglets qui sont crées et ne garder que Feuil4 pour la lancer.

Du coup c'est tout con, j'oublie encore une fois de réactiver une feuille à un moment ....
            ElseIf Cells(1, c) = "Décharge" Then
            LastRowC = Cells(Rows.Count, c - 1).End(xlUp).Row
            
            'On compte le nombre de courbes éxistantes
            nbc3 = Worksheets("GrapheDecharge").ChartObjects(chDecharge.Name).Chart.SeriesCollection.Count
            nbc3 = nbc3 + 1
            
            'ajout d'une courbe au graphe, désignation des valeurs de la courbe et changement du nom dans la légende
            Worksheets("GrapheDecharge").ChartObjects(chDecharge.Name).Chart.SeriesCollection.NewSeries
            Worksheets("GrapheDecharge").ChartObjects(chDecharge.Name).Chart.SeriesCollection(nbc3).Values = Worksheets(Feuille2).Range(Cells(3, c + 4), Cells(LastRowC, c + 4))
            Worksheets("GrapheDecharge").ChartObjects(chDecharge.Name).Chart.SeriesCollection(nbc3).XValues = Worksheets(Feuille2).Range(Cells(3, c + 6), Cells(LastRowC, c + 6))
            Worksheets("GrapheDecharge").ChartObjects(chDecharge.Name).Chart.SeriesCollection(nbc3).Name = "Voltage(V) Cycle " & Cells(1, c - 1).Text

            'Ajout d'un titre
            Sheets("GrapheDecharge").ChartObjects(chDecharge.Name).Activate
            ActiveChart.SetElement (msoElementChartTitleAboveChart)
            ActiveChart.ChartTitle.Text = "Graphe de Decharge " + Feuille
            Selection.Format.TextFrame2.TextRange.Characters.Text = "Graphe de Decharge (V / Ah) " + Feuille
            
            'Ajout des légendes d'axes et paramétrage du format de données de l'axe des abscisses
            ActiveChart.Axes(xlCategory).Select
            Selection.TickLabels.NumberFormat = "# ##0.00"
            ActiveChart.SetElement (msoElementPrimaryCategoryAxisTitleAdjacentToAxis)
            Selection.Caption = "Disharge_Capacity (Ah)"
            ActiveChart.SetElement (msoElementPrimaryValueAxisTitleHorizontal)
            Selection.Caption = "Tension (V)"
            Sheets(Feuille2).Activate
    
                
            End If
TestPourCourbesV5.xlsm
(110.26 Kio) Téléchargé 16 fois
Je ne sais pas qui t'a dis de te servir de ta tête pour résoudre les problèmes ... mais ça ne voulait surement pas dire "sers-t'en SUR l'ordinateur" !
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message