OVH Cloud OVH Cloud

graphe excel qui affiche NA pour les valeurs nulles

5 réponses
Avatar
a.lagolep
salut,

j'ai un probleme avec un graphe excel et les valeurs nulles.
j'utilise la fonction NA() pour ne pas tracer les points qui sont nuls.
Ca fonctionne bien...

Mais sur le graphe, j'ai des disgracieux #NA qui se placent
anarchiquement sur le graphe... (sur excel 2003 sp2)

Ca vous parle ?
Merci,

AL.

5 réponses

Avatar
a.lagolep

Mais sur le graphe, j'ai des disgracieux #NA qui se placent
anarchiquement sur le graphe... (sur excel 2003 sp2)



Un complement.... Ce phenomene ne se produit que si j'ai un graphe avec
des lignes 3D...

Avatar
Francois L

Mais sur le graphe, j'ai des disgracieux #NA qui se placent
anarchiquement sur le graphe... (sur excel 2003 sp2)



Un complement.... Ce phenomene ne se produit que si j'ai un graphe avec
des lignes 3D...




Bonsoir,

Comportement constaté sur les graphiques en aire (3D ou 2D).

Se corrige avec ce genre de macro, à adapter à ta situation.

Sub nonna()
For i = 1 To ActiveSheet.SeriesCollection(1).Points.Count
With ActiveSheet.SeriesCollection(1).Points(i)
If .DataLabel.Text = "#N/A" Then .DataLabel.Text = ""
End With
Next
End Sub

--
François L


Avatar
a.lagolep
Salut,

Merci beaucoup.Voici la macro que j'ai adaptée :
Des que le debugger arrive sur une etiquette qui contient #NA, elle
declenche le .DataLabel.Text="", mais j'ai une erreur 1004 -
application defined or object defined error....



Sub nonna()
ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.SeriesCollection(1).Select

For i = 1 To ActiveChart.SeriesCollection(1).Points.Count
With ActiveChart.SeriesCollection(1).Points(i)
If .DataLabel.Text = "#N/A" Then
.DataLabel.Text = ""
End If

End With
Next
End Sub



Merci,

AL.
Avatar
a.lagolep
Précisision....

En pas a pas. c'est en fait sur le IF que l'erreur 1004 est levée.

J'ai rajouté un espion sur la variable
ActiveChart.SeriesCollection(1).Points(i).DataLabel.Text
Et je vois bien toutes mes valeurs défiler... jusu'à ce qu'il
rencontre un point avec NA : et la je vois le message : <Unable to get
the DataLabel property of the Point class>

HEEEEEEEElp ;-)

Merci,

AL.
Avatar
Francois L
Salut,

Merci beaucoup.Voici la macro que j'ai adaptée :
Des que le debugger arrive sur une etiquette qui contient #NA, elle
declenche le .DataLabel.Text="", mais j'ai une erreur 1004 -
application defined or object defined error....





Bonsoir,

Pour moi, ce que tu décris se produit si tu repasses la macro après
avoir déjà supprimé les "#N/A"

Essayes ce qui suit :

Sub nonna()
With ActiveChart.SeriesCollection(1)
.ApplyDataLabels Type:=xlDataLabelsShowValue
For i = 1 To .Points.Count
With .Points(i)
If .DataLabel.Text = "#N/A" Then .DataLabel.Text = ""
End With
Next
End With
End Sub

--
François L