Explications macro étiquettes nuages de points

Vilain

XLDnaute Accro
Bonjour à tous, je viens avec un nouveau problème, ça n'arrête pas ces derniers temps.

J'ai trouvé sur le site de Microsoft une macro permettant d'afficher les étiquettes de données pour un graphique nuage de point :

Sub AttachLabelsToPoints()

'Dimension variables.
Dim Counter As Integer, ChartName As String, xVals As String

' Disable screen updating while the subroutine is run.
Application.ScreenUpdating = False

'Store the formula for the first series in "xVals".
xVals = ActiveChart.SeriesCollection(1).Formula

'Extract the range for the data from xVals.
xVals = Mid(xVals, InStr(InStr(xVals, ","), xVals, _
Mid(Left(xVals, InStr(xVals, "!") - 1), 9)))
xVals = Left(xVals, InStr(InStr(xVals, "!"), xVals, ",") - 1)
Do While Left(xVals, 1) = ","
xVals = Mid(xVals, 2)
Loop

'Attach a label to each data point in the chart.
For Counter = 1 To Range(xVals).Cells.Count
ActiveChart.SeriesCollection(1).Points(Counter).HasDataLabel = _
True
ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Text = _
Range(xVals).Cells(Counter, 1).Offset(0, -1).Value
Next Counter

End Sub

Elle semble bien fonctionner sauf qu'elle n'affiche pas les valeurs que je souhaite. Elle affiche les valeurs de ma colonne AB (qui n'a absolument rien à voir avec le graphique au lieu de ma colonne E. Que dois-je changer ?
 

klin89

XLDnaute Accro
Re : Explications macro étiquettes nuages de points

Bonsoir Gillus69,

Sélectionne ton graphique et mets toi en mode débogage.
Place un espion sur La formule SERIE qui est définie par cette ligne :
ActiveChart.SeriesCollection(1).Formula
La formule SERIE détermine les données employées dans chaque série d'un graphique.

A chaque itération, vois aussi la valeur renvoyée par cette ligne :
Range(xVals).Cells(Counter, 1).Offset(0, -1).Value


Klin89
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 111
Messages
2 085 407
Membres
102 884
dernier inscrit
Macarena