Bonjour seb2, CB60, le Forum,
Citation:
|
Envoyé par CB60
Bonjour à tous
Merci MDF pour ce joli Boulot, heureusement que j'avais mis ça:
mais je ne suis pas un expert en macro
Il me reste beaucoup à apprendre
|
Cher ami
Bruno, pour ma part, c'est grâce à ton travail que je me familiarise peu à peu avec les graphiques Excel. Sur ce thème, il me reste, moi aussi, beaucoup à apprendre et je t'en remercie.
Seb2, tu trouveras ci-joint ton fichier modifié selon tes souhaits.
J'ai dû modifier légèrement la procédure pour trouver un traitement commun aux 2 types de graphique :
Code:
DANS LE MODULE DE CODE DE LA FEUILLE
Private Sub Worksheet_Change(ByVal Target As Range)
'myDearFriend! - www.mdf-xlpages.com
Dim Graph As ChartObject
Dim Cel As Range
If Target.Count > 1 Then Exit Sub
If Not Application.Intersect(Target, Range("B6:B30")) Is Nothing Then
Set Cel = Sheets("Corresp.Couleurs").Columns(1).Find(Target.Value, LookIn:=xlValues)
If Not Cel Is Nothing Then
Target.Offset(0, -1).Interior.Color = Cel.Interior.Color
For Each Graph In ActiveSheet.ChartObjects
Graph.Chart.Legend.LegendEntries(Target.Row - 5).LegendKey.Interior.Color = Cel.Interior.Color
Next Graph
End If
End If
End Sub
J'agis cette fois directement sur les légendes du graphique et non plus sur les séries, ce qui donne au final le même effet pour tous les graphiques présents.
Par ailleurs, ta remarque est bonne, seule la modification du nom de série en feuille principale peut faire agir cette macro. Ainsi, en cas de modification des couleurs en feuille "Corresp.Couleurs", il faut obligatoirement revalider le nom de série correspondant en feuille principale pour déclencher le traitement.
Cordialement,