graphe excel qui affiche NA pour les valeurs nulles
5 réponses
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)
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...
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
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
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
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.
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
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.
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.
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>
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.
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
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
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