Sub AjoutÉtiqGrph3D()
Dim boucle1, boucle2, boucle3, rep&
Dim LeftPos
Application.ScreenUpdating = False
ActiveChart.SetElement (msoElementDataLabelNone)
ActiveChart.SetElement (msoElementDataLabelShow)
For boucle1 = 1 To ActiveChart.SeriesCollection.Count
ActiveChart.SeriesCollection(boucle1).DataLabels.Select
With Selection
.NumberFormat = "General"
.Font.Color = RGB(255, 255, 255)
.Font.Size = 12
.Font.Bold = True
.Orientation = 90
'.NumberFormat = "[<2000]"""";#,##0.0"
With Selection.Format.TextFrame2.TextRange.Font.Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorBackground1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
.Transparency = 0
.Solid
End With
End With
Next boucle1
' Ajuste le format de l'étiquette
rep = vbYes
rep = MsgBox("Voulez-vous le format >20?" & vbLf & _
" ( sinon format '9 999' )", _
vbYesNo + vbQuestion + vbDefaultButton1, _
"Format des étiquettes à valeur > 20")
For boucle1 = 1 To ActiveChart.SeriesCollection.Count
ActiveChart.SeriesCollection(boucle1).DataLabels.Select
If rep = vbYes Then
Selection.NumberFormat = "[<20]"""";# ##0"
Else
Selection.NumberFormat = "# ##0"
End If
Next boucle1
' Ajustement de la hauteur de l'étiquette
rep = vbYes
rep = MsgBox("Voulez-vous ajuster la hauteur?" & vbLf & _
" ( sinon demeure ainsi )", _
vbYesNo + vbQuestion + vbDefaultButton1, _
"Format des étiquettes à valeur > 20")
For boucle2 = 1 To ActiveChart.SeriesCollection.Count
ActiveChart.SeriesCollection(boucle2).DataLabels.Select
If rep = vbYes Then
LeftPos = 2
For boucle3 = 1 To ActiveChart.SeriesCollection(boucle2).Points.Count
ActiveChart.SeriesCollection(boucle2).Points(boucle3).Select
Selection.DataLabel.Top = Selection.Top + 2
Selection.DataLabel.Left = Selection.Left + LeftPos
LeftPos = LeftPos + 0.5
Next boucle3
Else
GoTo Fin_Hauteur
End If
Next boucle2
Fin_Hauteur:
Application.ScreenUpdating = True
End Sub