Explication bien detaillé dun prgme VBA
bonjour jai ecrit ce preogramme sulemnt jaimerai si vous pouvez maider avoir une explication bien detailler et bien struturer de mon programme s'il vous plait merci pour votre aide
Private Sub CommandButton5_Click()
Dim choix As Integer
Dim DLRange As Variant
Dim cht As Chart
Dim compteurG As Integer
If ActiveChart Is Nothing Then
MsgBox "Selectionner un graphique et reessayer.", vbExclamation
GoTo ExitSub
End If
Set cht = ActiveChart
choix = cht.SeriesCollection.Count
' Boucle sur les séries
compteurG = 2
For C = 1 To choix
On Error Resume Next
On Error GoTo 0
For i = 1 To ActiveChart.SeriesCollection(C).Points.Count
cht.SeriesCollection(C).Points(i).DataLabel.Select
Selection.Interior.Color = ActiveSheet.Cells(compteurG, 1).Interior.Color
Selection.Font.Size = 7
compteurG = compteurG + 1
Next i
Next C
ExitSub:
Application.ScreenUpdating = True
End Sub
Private Sub CommandButton5_Click() 'évènement qui s'execute après avoir cliqué sur la CommandButton5
'déclaration de variables
Dim choix As Integer
Dim DLRange As Variant
Dim cht As Chart
Dim compteurG As Integer
's'il n'y a pas de graphique actuellement sélectionné
If ActiveChart Is Nothing Then
'message d'erreur et sortie.
MsgBox "Selectionner un graphique et reessayer.", vbExclamation
'Cette partie est mal faite. Il faut écrire
'GoTo ExitSub
Application.ScreenUpdating = True : Exit Sub
End If
'on lie une des variables (objet) avec le graphe actif
Set cht = ActiveChart
'choix = nombre de séries de données dans le graphique
choix = cht.SeriesCollection.Count
' Boucle sur les séries
'un compteur
compteurG = 2
'boucle sur les séries
For C = 1 To choix
'en cas d'erreur, continuer le code et ignorer l'erreur
On Error Resume Next
'en cas d'erreur aller je sais pas où
On Error GoTo 0
'pour chaque point de la série de données actuellement traitée
For i = 1 To ActiveChart.SeriesCollection(C).Points.Count
'sélection de son étiquette
cht.SeriesCollection(C).Points(i).DataLabel.Select
'couleur de cette étiquette = couleur de la cellule ligne "compteurG" et colonne 1
Selection.Interior.Color = ActiveSheet.Cells(compteurG, 1).Interior.Color
'taille de police de cette étiquette = 7
Selection.Font.Size = 7
'incrémentation du compteur qui représente une ligne dans la feuille excel
compteurG = compteurG + 1
'point suivant
Next i
'série de données suivante
Next C
'sortie de la procédure
ExitSub:
'on réactive le raffraichissement de l'écran
Application.ScreenUpdating = True
End SubBonjour,
A tester.
Cdlt.
Option Explicit
Private Sub CommandButton5_Click()
Dim choix As Long, C As Long
Dim cht As Chart
If ActiveChart Is Nothing Then
MsgBox "Selectionner un graphique et reessayer.", vbExclamation
Exit Sub
End If
Application.ScreenUpdating = False
Set cht = ActiveChart
choix = cht.SeriesCollection.Count
For C = 1 To choix
For i = 1 To ActiveChart.SeriesCollection(C).Points.Count
cht.SeriesCollection(C).Points(i).DataLabel.Select
With Selection
.Interior.Color = ActiveSheet.Cells(compteurG, 1).Interior.Color
.Font.Size = 7
End With
Next i
Next C
Set cht = Nothing
End Sub