> Tous les forums > Forum Bureautique
 Macro couleur séries graphique excel 2010
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
WINNIE0931
  Posté le 16/10/2014 @ 15:39 
Aller en bas de la page 
Petit astucien

Bonjour à tous.

Je suis à la recherche (certainement par VBA) d'un moyen d'automatiser les couleurs des séries d'un graphique de type histogramme en fonction des libellés des étiquettes des séries.

Le document est téléchargeable avec ce lien :

http://cjoint.com/?DJqpPpBsWlS

Les étiquettes peuvent prendre 4 valeurs :

- "Bon niveau" et en ce cas la couleur de la série serait bleu turquoise (RGB : 102 204 255)

- "Niveau moyen" et en ce cas la couleur de la série serait lavande (RGB : 255 153 255)

- "Passable" et en ce cas la couleur de la série serait vert clair (RGB : 204 255 153)

- "Autres cas" et en ce cas la couleur de la série serait orange (RGB : 255 192 0)

A noter que les étiquettes ne sont pas forcément au nombre de 4 ; le "niveau moyen" peut être absent de l'étude par exemple.

Je génère le graphique par la macro suivante, en sélectionnant la source (ici cellules B4:T9) à l'aide d'une Inputbox

Sub generegraph()
'

Dim Var As range, i As Integer, NomZone As String
On Error Resume Next
Set Var = Application.InputBox("Sélectionner la source du graphique à partir de la cellule B4", _
"Sélection de zone ", Default:="", Type:=8)
On Error GoTo 0
If Not Var Is Nothing Then
'MsgBox Var.Address qui correspond aux références des cellules sélectionnées
Var.Select
Else
Exit Sub
End If

Dim maplage As range
Set maplage = Selection


'

'
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Activesheet.Shapes.AddChart.Select
ActiveChart.SeriesCollection(1).ChartType = xl3DColumnStacked
ActiveChart.Parent.Name = "mongraph"

ActiveChart.SetSourceData Source:=maplage
Activesheet.Shapes("mongraph").ScaleWidth 1.5989584427, msoFalse, _
msoScaleFromTopLeft
Activesheet.Shapes("mongraph").ScaleHeight 1.4861111111, msoFalse, _
msoScaleFromTopLeft
Activesheet.Shapes("mongraph").ScaleWidth 1.2657980274, msoFalse, _
msoScaleFromTopLeft
Activesheet.Shapes("mongraph").ScaleHeight 1.1565420561, msoFalse, _
msoScaleFromTopLeft


Activesheet.ChartObjects("mongraph").Activate
ActiveChart.Axes(xlValue).MajorGridlines.Select
ActiveChart.ChartArea.Format.ThreeD.Perspective = False


Mavariable = Var.Address
'MsgBox mavariable
range(Mavariable).SpecialCells(xlCellTypeConstants, 1).Select
For Each Cellule In Selection
If Cellule.Value = 0 Then Cellule.Value = ""
Next

Activesheet.ChartObjects("mongraph").Activate

For num = 1 To ActiveChart.SeriesCollection.Count

ActiveChart.ChartArea.Select
ActiveChart.SeriesCollection(num).Select
ActiveChart.SetElement (msoElementDataLabelShow)
Next



Activesheet.ChartObjects("mongraph").Activate
ActiveChart.Legend.Select
ActiveChart.Legend.Select
Selection.Position = xlBottom



End Sub

Merci beaucoup pour votre aide

Publicité
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
Macro Excel 2010-lien hypertexte
Bouton macro dans feuille Excel 2010
(Macro Excel) Sélectionner cellule en fonction de sa couleur
graphique excel 2010
Graphique excel 2010
Macro sous Excel 2010
Excel 2007 graphique ajouter séries de données
probleme macro excel 2010
Excel 2010, Macro d'un bouton
Macro Excel 4
Plus de sujets relatifs à Macro couleur séries graphique excel 2010
 > Tous les forums > Forum Bureautique