Pyramide_histogramme_colorier étiquette sur variable

Bonjour à tous,

Joint le fichier "test(2).xls"

A partir d'un double histogramme construit sur un modèle de type pyramide des âges, représentant :

  • Des sauces selon le nombre de sandwhich,
  • côté gauche (rouge) des sandwhich pour les enfants
  • côté droit (plus clair) des sandwhich pour les adultes
  • côté droit (encore plus clair) un fragment du baton pour certains d'entre eux, pour les sandwhich végétariens

Je souhaiterais savoir s'il existe une solution, de préférence macro, pour colorier mes noms de sauces (étiquettes ou "items"), à partir de la variable Z' ?

J'arrive bien à représenter la variable X, la Y, et la Z... mais pas la Z'.

Je pensais pouvoir la représenter pas une couleur de police changeante sur les noms qui apparaissent à gauche ?

code peut-être utile : pour afficher les étiquettes dans un nuage :

Sub AttachLabelsToPoints()

   'Dimension variables.
   Dim Counter As Integer, ChartName As String, xVals As String

   ' Disable screen updating while the subroutine is run.
   Application.ScreenUpdating = False

   'Store the formula for the first series in "xVals".
   xVals = ActiveChart.SeriesCollection(1).Formula

   'Extract the range for the data from xVals.
   xVals = Mid(xVals, InStr(InStr(xVals, ","), xVals, _
      Mid(Left(xVals, InStr(xVals, "!") - 1), 9)))
   xVals = Left(xVals, InStr(InStr(xVals, "!"), xVals, ",") - 1)
   Do While Left(xVals, 1) = ","
      xVals = Mid(xVals, 2)
   Loop

   'Attach a label to each data point in the chart.
   For Counter = 1 To Range(xVals).Cells.Count
     ActiveChart.SeriesCollection(1).Points(Counter).HasDataLabel = _
         True
      ActiveChart.SeriesCollection(1).Points(Counter).DataLabel.Text = _
         Range(xVals).Cells(Counter, 1).Offset(0, -1).Value
   Next Counter

End Sub

code pour afficher les étiquettes dans un Histo :

Sub test1()
    With ActiveChart
    .SeriesCollection(1).ApplyDataLabels Type:=xlDataLabelsShowLabel
        For Each sc In .SeriesCollection(1).Points
        Select Case sc.DataLabel.Text
        Case 1: sc.DataLabel.Interior.Color = RGB(255, 0, 0)
        Case 2: sc.DataLabel.Interior.Color = RGB(0, 255, 0)
        Case 3: sc.DataLabel.Interior.Color = RGB(0, 0, 255)
        Case 4: sc.DataLabel.Interior.Color = RGB(200, 240, 0)
        End Select
        Next
    End With
End Sub

Merci par avance,

G.

11test-2.xlsx (13.03 Ko)
Rechercher des sujets similaires à "pyramide histogramme colorier etiquette variable"