Rapport de message :*
 

Re: Adapter macro a des couleurs definies dans un graph camenbert

Titre du sujet : Re: Adapter macro a des couleurs definies dans un graph camenbert
par myDearFriend! le 19/11/2007 21:54:04

Re,

Tu trouveras ci-joint une unique tentative de réponse au vu des seuls éléments que tu veux bien nous fournir... :bof:

Compte tenu du mode d'insertion des valeurs séries de ton graph (par macro "inconnue"), j'en déduis que le code que tu as récupéré pour imposer les couleurs du graphique "à la volée" ne convient pas à ton projet. Il convient de voir les choses autrement...

J'efface donc tout et je te propose l'unique procédure ci-dessous à mettre dans le module de code de la feuille "Fiche".

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range
Dim T 
As String
Dim L 
As Long

If Target.Address "$BR$12" Then

    Application
.ScreenUpdating False
    
'   On Error Resume Next
    ImporterWordVersExcel (Target.Value)
    '   
On Error GoTo 0
    Application
.ScreenUpdating True
    
    With Sheets
("matricielle")
        For 
2 To .Range("H65536").End(xlUp).Row
            T 
= .Cells(L8).Text
            
If <> "" Then
                Set Cel 
= .Columns(2).Find(TLookIn:=xlValues)
                If 
Not Cel Is Nothing Then
                    ActiveSheet
.ChartObjects(1).Chart.Legend.LegendEntries(1). _
                            LegendKey
.Interior.Color Cel.Interior.Color
                End 
If
            
End If
        
Next L
    End With
    
End 
If
End Sub

L'onglet "Corresp. couleurs" n'a plus lieu d'être, la correspondance des couleurs prédéterminées se fait ici en colonne B de l'onglet "matricielle".

Par ailleurs, j'ai écrit une énormité dans mon post précédent :
If Not Application.Intersect(TargetSheets("Matricielle").Range("B2:B9")) Is Nothing Then
est une.... infâmie !
En effet, vouloir définir l'intersection entre une cellule de la feuille "Fiche" (= Target) et une plage de la feuille "Matricielle" n'a aucun sens... Mea Culpa !

Espérant que le fichier joint puisse te servir de base pour faire avancer ton projet.

Cordialement,