Etiquette de données

Hello à tous,

Cela fait des heures que je suis sur un point qui commence à m'agacer: les graphs en VBA et plus précisement la mise en forme des étiquettes de données.

J'ai trouvé cela sur le site http://boisgontierjacques.free.fr/pages_site/graphiques.htm#EtiqNuage :

Sub commentaire()
  ActiveSheet.ChartObjects(1).Activate
  On Error Resume Next
  ActiveChart.SeriesCollection(1).ApplyDataLabels Type:=xlDataLabelsShowLabel
  On Error GoTo 0
  For i = 1 To ActiveChart.SeriesCollection(1).Points.Count
    ActiveChart.SeriesCollection(1).Points(i).DataLabel.Select
    Selection.Interior.ColorIndex = 36
    Selection.Font.Size = 7
    Selection.Text = ActiveSheet.Cells(i + 1, 1)
    ActiveChart.SeriesCollection(1).Points(i).MarkerBackgroundColorIndex = 4
  Next i
End Sub

Ca corresponds à 99% à ce dont j'ai besoin à un détail près, sa liste n'est ni triée, ni filtrés ... Quand j'utilise son code (adapé evidement) sur mon document, il m'ajoute bien les etiquettes, et ajoute les titres de la bonne colonne. Mais le problème c'est qu'il va chercher comme ça:

-1er point, 1ere valeur de cellule

Hors sur mon document, les valeurs ne sont pas triées suivant les abscices croissants, et les données sont filtrés. Actuelement il va me chercher:

-1er point, 1ère valeur de cellule (tri actif, filtre non actif)

Pour contourner ça, j'ai essayé un truc, sans succès, car j'ai bien l'impression qu'il ne comprend pas le XValues ou Yvalues. Je voulais lui dire: si pour le point k, tu retrouves (Xk,Yk) dans la feuille j à la ligne z alors, je peux comme étiquette de donnée la valeur de la cellule(z, 12)

For k = 1 To ActiveChart.SeriesCollection(4).Points.Count
    For Z = 2 To DernLigne Step 1
    If ActiveChart.SeriesCollection(4).Points(k).Yvalues = Sheets(j).Cells(Z, 21).Value and _
    If ActiveChart.SeriesCollection(4).Points(k).Xvalues = Sheets(j).Cells(Z, 22).Value Then _
        ActiveChart.SeriesCollection(4).Points(k).DataLabel.Text = Sheets(j).Cells(Z + 1, 12)
    Next Z
Next k

Avec k le numero du point, j le numero de la feuille ou aller chercher l'info, et Z le numero de ligne dans la feuille j. Vous l'aurez compris dans le feuille J, les colonnes 21&22 correspondent à (X,Y) et 12 au nom que je souhaite afficher en étiquettes.

PS: je ne peux pas télécharger de Add-in tel que XYCharts, et je ne peux pas vous envoyer le doc (150 000KB + données confidentielles). Désolé.

Merci à tous en esperant que quelqu'un puisse m'aider Bonne journée

Rechercher des sujets similaires à "etiquette donnees"