Bonjour à tous,
Je travaille sur une macro Excel qui a pour objectif de changer sur un graphe dynamique la couleur du dernier histogramme.
Comme j'ai deux graphes à traiter, je souhaite rationaliser mon code en appelant une procédure depuis la procédure principale en faisant passer en paramétre le nom du graphe.
Pour une raison qui m'échappe, j'ai le comportement suivant :
- La procédure principale s'exécute et appelle bien la sous-procédure
- La sous-procédure s'éxécute jusqu'à la sélection du graphe
- Puis sans raison, elle arrête son éxécution et retour à la pocédure principale.
La procédure princiaple :
La sous-procédure (elle sort à l'éxécution de la ligne 6 :
Je travaille sur une macro Excel qui a pour objectif de changer sur un graphe dynamique la couleur du dernier histogramme.
Comme j'ai deux graphes à traiter, je souhaite rationaliser mon code en appelant une procédure depuis la procédure principale en faisant passer en paramétre le nom du graphe.
Pour une raison qui m'échappe, j'ai le comportement suivant :
- La procédure principale s'exécute et appelle bien la sous-procédure
- La sous-procédure s'éxécute jusqu'à la sélection du graphe
- Puis sans raison, elle arrête son éxécution et retour à la pocédure principale.
La procédure princiaple :
VB:
Private Sub Test()
Dim GraphNom As Variant
On Error Resume Next
Application.ScreenUpdating = False
GraphNom = "_GraphCollab01"
HistoCouleur GraphNom
ThisWorkbook.Worksheets("Salaire - Calculette").Range("B2").Select
Application.ScreenUpdating = True
End Sub
La sous-procédure (elle sort à l'éxécution de la ligne 6 :
Code:
Private Sub HistoCouleur(ByVal GraphNom As String)
With ThisWorkbook
With Worksheets("Salaire - Calculette")
With ChartObjects(GraphNom)
.Activate
.FullSeriesCollection(1).Select
End With
End With
ActiveChart.FullSeriesCollection(1).Points(ActiveChart.SeriesCollection(1).Points.Count).Select
With Selection.Format.Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorAccent6
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
.Transparency = 0
.Solid
End With
End With
End Sub
Dernière édition: