VBA changer le format de l'axe d'un graphe
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
Bonjour,
Le forum apprécierait un fichier avec la procédure existante.
Cdlt.
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