Salut à tous.
Je suis ultra novice en Visual Basic, donc désolée si ma question peut vous paraître stupide.
Je souhaiterais créer une macro qui créerait un graphique à 2 axes.
Pour cela j'ai utilisé la fonction enregistrer une macro puis réaliser mon graf.
J'ai ensuite apporté quelques modif pour les données source, mais quand je relance la macro, elle ne reconnaît apparement pas que c'est une courbe à deux axes, et m'affiche :
"Erreur d'éxécution 1004 : la méthode 'Axes' de l'objet '_Chart' a échoué"
Apparament il n'aime pas la ligne de mon code :
Je ne comprends vraiment pas, j'ai tout essayé ce que je connaissais
Code : Sélectionner tout - Visualiser dans une fenêtre à part ActiveChart.Axes(xlCategory, xlSecondary).CategoryType = xlCategoryScale![]()
Voici mon code :
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 Range("AHinf:AJsup").Select Charts.Add ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _ "Courbes à deux axes" ActiveChart.SetSourceData Source:=Sheets("Rapport Bilan").Range( _ "AHinf:AJsup"), PlotBy:=xlColumns ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection.NewSeries ActiveChart.SeriesCollection(1).XValues = Sheets("Rapport Bilan").Range("AHinf:AHsup") ActiveChart.SeriesCollection(1).Values = Sheets("Rapport Bilan").Range("AHinf:AHsup") ActiveChart.SeriesCollection(1).Name = "TPS BG1 sous tension" ActiveChart.SeriesCollection(2).XValues = Sheets("Rapport Bilan").Range("AHinf:AHsup") ActiveChart.SeriesCollection(2).Values = Sheets("Rapport Bilan").Range("AIinf:AIsup") ActiveChart.SeriesCollection(2).Name = "TPS BG1 en Charge" ActiveChart.SeriesCollection(3).XValues = Sheets("Rapport Bilan").Range("AHinf:AHsup") ActiveChart.SeriesCollection(3).Values = Sheets("Rapport Bilan").Range("AJinf:AJsup") ActiveChart.SeriesCollection(3).Name = "% BG1 en Charge" ActiveChart.Location Where:=xlLocationAsNewSheet, Name:="BG1 " & nom_de_feuille With ActiveChart .HasAxis(xlCategory, xlPrimary) = True .HasAxis(xlCategory, xlSecondary) = True .HasAxis(xlValue, xlPrimary) = True .HasAxis(xlValue, xlSecondary) = True End With ActiveChart.Axes(xlCategory, xlPrimary).CategoryType = xlCategoryScale ActiveChart.Axes(xlCategory, xlSecondary).CategoryType = xlCategoryScale
merci d'avance,
Partager