User Tools

Site Tools


mgenay:technique:ajouter_label_dans_un_graphe_xy

http://support.microsoft.com/kb/213750/en-us

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

Pour gérer plusieurs séries :

Sub AttachLabelsToPoints()
 
   'Dimension variables.
   Dim Counter As Integer, ChartName As String, xVals As String
   Dim Serie As Object
 
   ' Disable screen updating while the subroutine is run.
   Application.ScreenUpdating = False
 
   'Store the formula for the first series in "xVals".
   For Each Serie In ActiveChart.SeriesCollection
       xVals = Serie.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
         Serie.Points(Counter).HasDataLabel = _
             True
          Serie.Points(Counter).DataLabel.Text = _
             Range(xVals).Cells(Counter, 1).Offset(0, -1).Value
       Next Counter
 
 
   Next Serie
 
End Sub
mgenay/technique/ajouter_label_dans_un_graphe_xy.txt · Last modified: by 127.0.0.1