Bug fantome: graphique: changer la couleur d'une serie: Interior.pattern = xlSolid

mimilll

XLDnaute Nouveau
Bonjour le forum,

j'ai un graphique-histogramme avec des series dont je veux changer la couleur et le motif par macro.
J'ai donc le code suivant:
Code:
...        
If InStr(strSeries, strToto & " L") > 0 Then    'find the right serie
            Sheets("Settings").Select              'get the format values from the little table where the format datas are stored
            intPattern = Range("K" & m).Value           'get the pattern-ID
            intFarbe2 = Range("M" & m).Value            'get the background colour-ID
            Sheets("Diagram").Select
            ActiveSheet.ChartObjects("Diagramm 38").Activate
            ActiveChart.SeriesCollection(i).Select
            With Selection.Border                       'Format update
                .ColorIndex = xlAutomatic
                .Weight = xlThin
                .LineStyle = xlAutomatic
            End With
            Selection.Shadow = False
            Selection.InvertIfNegative = False
            If intPattern = 0 Then                      'if xlsolid chosen, then
                With Selection.Interior
[COLOR="Green"]                .ColorIndex = intFarbe[/COLOR]
[COLOR="Red"]                .pattern = xlSolid[/COLOR]
                End With
            Else                                        'Else: all other pattern
                With Selection.Fill
                    .Patterned pattern:=intPattern
                    .Visible = True
                    .ForeColor.SchemeColor = intFarbe
                    .BackColor.SchemeColor = intFarbe2
                End With
            End If
            m = m + 1
        Else                                    'Else: nothing (can i delete this line?)
        End If
...

lorsque j'execute la macro qui contient ce code, j'obtiens la premiere fois une mauvaise couleur pour 2 séries. Lorsque j'execute une seconde fois la macro, j'obtiens alors les bonne couleur.
J'ai fais une execution pas a pas:
L'orsque j'arrive à:
.ColorIndex = intFarbe
la serie change de couleur, et obtient la boone couleur,
puis lorsque j'arrive a la ligne suivante:
.pattern = xlSolid
il se met, certes en xlSolid, mais la couleur change egalement!!! :eek:

Je n'y comprends rien.

D'où cela peut il venir??

Je vous remercie...
 

mimilll

XLDnaute Nouveau
Re : Bug fantome: graphique: changer la couleur d'une serie: Interior.pattern = xlSol

Bonjour,

veuillez m'excuser pour la réponse tardive... quelques jours de vacances sont passées par là! :cool:

En faisant une execution pas à pas, et en amenant ma sourie au dessus des differentes variables intéressantes, j'ai surveillé les valeurs et rien à signaler:
lorsque j'arrive sur: .ColorIndex = intFarbe , tout est OK
lorsque j'arrive sur: .pattern = xlSolid , tout est OK
après être passé sur: .pattern = xlSolid , la couleur a changé sans que la variable n'ai changé!:confused:

:eek:
Bien à vous,
Emilien
 

mimilll

XLDnaute Nouveau
Re : Bug fantome: graphique: changer la couleur d'une serie: Interior.pattern = xlSol

je pense avoir trouvé:

la serie peut etre a la base avec un certain motif (et non pas une simple couleur).
J'ai ainsi l'impression que lorsque xls change la couleur PUIS le motif, ce dernier l'induit en erreur car (je suppose) à un motif sont attaché des attributs couleur qui sont différents si le mootif était plein (xlsolid) ou complexe (tous les autres).

La solution consiste à informer excel en PREMIER du PATTERN, PUIS la COULEUR.

Les choses sont ainsi dans l'ordre.
NB: ordre inverse de l'enregistreur de macro!!

YYYYYYYYYYYYYEEEEEEEEEEEEEEEEeeeeeeeeeeeeeeeeessssssssssssssss !!!!!!!
 

Discussions similaires

Réponses
2
Affichages
707

Statistiques des forums

Discussions
312 517
Messages
2 089 242
Membres
104 075
dernier inscrit
christophe.lienard.974