Salut tout le monde,

J'ai un problème qui me semble bizarre avec un bout de code destiné à modifier un axe d'un graphique:

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
 
Dim myChart As Excel.Chart
Dim myAxis As Excel.Axis    'J'avais d'abord essayé sans instancier d'objet Axis (myChart.Axes(,).___) mais ça ne fonctionnait pas...
 
'Création d'une nouvelle feuille graphique
 
    Set myChart = Application.ActiveWorkbook.Charts.Add()
    With myChart
        Call .Location(xlLocationAsNewSheet, "Graph " & currSection)
        .ChartType = xlXYScatter
        .HasLegend = False
 
    Set myAxis = .Axes(xlValue, xlPrimary)
        myAxis.HasMajorGridlines = False
        myAxis.HasTitle = True
        myAxis.AxisTitle.Text = "Vitesse (km/h)"
    Set myAxis = .Axes(xlCategory, xlPrimary)
        myAxis.HasTitle = True
        myAxis.AxisTitle.Text = "Abscisse curviligne (m)"
 
    End With
A l'éxécution ça plante sur "myAxis.HasTitle = True" (et sur les suivantes également).

Quand je regarde mon objet, myAxis via le debugger, il semble effectivement que je ne puisse pas accéder à la plupart des propriétés de mon axe (dont HasMajorGridLines que j'essaie de changer) mais je ne comprends pas pourquoi (cf. capture d'écran ci-dessous).




Le pire c'est que le code a fonctionné une fois. Au début j'avais défini mon axe comme:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Set myAxis = myChart.Axes(xlValues)
Mais ça ne marchait pas et du coup j'avais essayé:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Set myAxis = myChart.Axes(xlValues,xlPrimary)
Et là, miracle, ça avait marché! Mais en ré-exécutant le code, re-plantage!

D'ailleurs je n'y comprends rien parce que selon la doc:

AxisGroup Argument de type XlAxisGroup facultatif. Spécifie le groupe d'axes. Si vous ne spécifiez pas cet argument, le groupe principal est utilisé. Les graphiques 3D n'ont qu'un groupe d'axes.

XlAxisGroup peut être l'une de ces constantes XlAxisGroup.
xlPrimary par défaut
xlSecondary

Quelqu'un a-t-il une idée de la raison pour laquelle je ne peux accéder aux propriétés de mes axes?

Merci beaucoup d'avance!