Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Général VBA
Général VBA Forum général VBA . Pour les logiciels spécifiques (Access, Excel, Word, ...), postez dans les bons sous forums.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/09/2006, 11h25   #1
Invité de passage
 
Inscription : septembre 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 2
Points : 1
Points : 1
Par défaut VBasic : Courbe à 2 axes

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 :

Code :
ActiveChart.Axes(xlCategory, xlSecondary).CategoryType = xlCategoryScale
Je ne comprends vraiment pas, j'ai tout essayé ce que je connaissais

Voici mon code :

Code :
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,
jenny2103 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/09/2006, 13h46   #2
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 854
Points : 16 854
Envoyer un message via Skype™ à bbil
Nous montre tu le bon code ..? est-tu sur de l'endroit de l'erreur .. déjà tous les "AHinf:AJsup" et similaire me semble bien louche...
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/09/2006, 11h58   #3
Invité de passage
 
Inscription : septembre 2006
Messages : 2
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 2
Points : 1
Points : 1
Par défaut solution

Désolée, mais en cherchant un peu plus dans le forum, j'ai trouvé la solution :
Code :
   ActiveChart.SeriesCollection(3).AxisGroup = 2
désolée
jenny2103 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h38.


 
 
 
 
Partenaires

Hébergement Web