hello,
Envoyé par
Anne973
Comme j'ai rajouté des lignes au dessus, j'ai changé:
Range("C10").Select
et ActiveChart.SeriesCollection(8).Points(Counter).DataLabel.Text = Format(ActiveSheet.Cells(10, 3).
Mais ça ne marche pas...
je pense que c'est la ligne suivante qui est mauvaise :
For Counter = 1 To Indexligne - 9
comme tu as tout décalé de 11 lignes ça serait plutôt :
For Counter = 1 To Indexligne - 20
Si ta cellule de départ des points avait été une cellule nommée (ex : debpoint en C21) tu n'aurais pas eu le problème car ta cellule nommée aurait suivi le décalage.
Exemple de code pour une cellule nommée :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Sub AttachLabelsToPoints()
'Dimension variables.
Dim Counter As Integer
Dim Indexligne As Integer
Dim debRowPoint As Integer
Range("debpoint").Select
Selection.End(xlDown).Select
Indexligne = ActiveCell.Row
debRowPoint = Range("debpoint").Row
For Counter = 1 To Indexligne - (debRowPoint - 1)
ActiveSheet.ChartObjects(1).Activate
ActiveChart.SeriesCollection(8).Points(Counter).HasDataLabel = True
ActiveChart.SeriesCollection(8).Points(Counter).DataLabel.Text = Format(ActiveSheet.Cells(debRowPoint, 3).Offset(Counter - 1, 0).Value, "# ##0")
ActiveChart.SeriesCollection(8).Points(Counter).DataLabel.Position = xlLabelPositionAbove
Next Counter
End Sub |
Ami calmant, J.P
Partager