VBA "La méthode HasAxis de l'objet _Chart a échoué

ste1000

XLDnaute Nouveau
Bonjour à tous,

je bute sur un problème que j'ai retrouvé plusieurs fois sur des forums (dont celui-ci) sans réponse malheureusement.

Je dispose d'un tableur (non joignable pour cause confidentialité) qui contient de nombreux graphiques différents (dont par exemple des camemberts, histogrammes...). J'aimerais faire une macro qui mette en forme les axes abscisses et ordonnée lorsque ceux-ci existent.

J'utilise un code de la forme
With ActiveChart.Axes(xlValue)
... (mise en forme)
End With

Pour les histogrammes ça marche nickel mais pour les camemberts ça plante, évidemment car il n'est pas possible de définir un axe pour ce type de graphe. J'aimerais donc mettre un test du type :
If ActiveChart.HasAxis(xlValue, xlPrimary) Then
With ActiveChart.Axes(xlValue)
... (mise en forme)
End With
End If

Sauf que dans le cas de mon camembert j'obtiens le message "La méthode HasAxis de l'objet _Chart a échoué"

Quelqu'un aurait-il une idée ? Pour info j'utilise Excel 2002 sur PC.

Merci d'avance,

Stéphane
 

youky(BJ)

XLDnaute Barbatruc
Re : VBA "La méthode HasAxis de l'objet _Chart a échoué

Bonjour Ste1000,
peut être en gérant l'erreur, comme ceci
A voir
Bruno

Code:
On Error Resume Next
With ActiveChart.Axes(xlValue)
if Err<>0 then Err.Clear:Goto camembert
... (mise en forme)
End With
Exit sub
camembert:
'la macro qui fonctionne pour sans Axe
End Sub
 
C

Compte Supprimé 979

Guest
Re : VBA "La méthode HasAxis de l'objet _Chart a échoué

Bonjour à vous,

L'idée de Youki(BJ) est parfaite.

Sinon tu peux également utilise la méthode : ChartType

Code:
' Vérifier si le type de graphique contient "pie" = secteur
If InStr(1, ActiveChart.ChartType, "pie", vbTextCompare) = 0 Then
With ActiveChart.Axes(xlValue)
... (mise en forme)
End With
EndIf

A+
 

ste1000

XLDnaute Nouveau
Re : VBA "La méthode HasAxis de l'objet _Chart a échoué

Bonjour,

merci beaucoup pour vos réponses !

La méthode ChartType est parfaite si je n'ai que 2 types de graphiques (camembert et histogramme), mais j'aimerais que ça fonctionne pour d'autres graphiques aussi, donc je vais m'en tenir à la méthode de Youki(BJ).

J'essaie comme ça et vous dirai si par hasard je trouve mieux dans l'intervalle.

Stéphane
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 379
Messages
2 087 762
Membres
103 661
dernier inscrit
fcleves