IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

changement de couleur histogramme [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 44
    Par défaut changement de couleur histogramme
    Bonjour à tous,

    Dans mon fichier, je créé deux collection de séries, une appelée "référence", l'autre appelée "Réel".
    Je cherche à comparer les valeurs des deux collections de séries. Exemple : Si Feuil1!$B$3 est plus petite que Feuil1!$C$3, alors elle sera de couleur verte, sinon de couleur rouge. Puis on compare Feuil1!$D$3 avec Feuil1!$E$3 etc.)

    J'ai élaboré un code (en rouge) mais ça ne marche pas et je n'arrive pas à trouver la solution.

    Merci d'avance pour votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    Sub Test()
    
    Dim a, b As Integer
    Dim seriecol1, seriecol2 As SeriesCollection
    Dim myseries1, myseries2 As Series
    
    With ActiveSheet.ChartObjects.Add(100, 100, 500, 300).Chart
        .ChartType = xlColumnClustered
        .SeriesCollection.NewSeries
       
        With .SeriesCollection.NewSeries
        .Values = "=Feuil1!$B$3,Feuil1!$D$3,Feuil1!$F$3,Feuil1!$H$3,Feuil1!$J$3,Feuil1!$L$3"
        .XValues = _
            "={""Total"",""Filtration"",""Démi"",""Concentreurs"",""Séchoirs"",""Flottation""}"
        .Name = "=""Réel"""
         End With
         Set seriesCol1 = ActiveSheet.ChartObjects(1).Chart.SeriesCollection
         
         With .SeriesCollection.NewSeries
        .Values = "=Feuil1!$C$3,Feuil1!$E$3,Feuil1!$G$3,Feuil1!$I$3,Feuil1!$K$3,Feuil1!$M$3"
        .Name = "=""Référence"""
        .Interior.Color = RGB(0, 0, 50)
         End With
         Set seriesCol2 = ActiveSheet.ChartObjects(1).Chart.SeriesCollection
         
         .SetElement (msoElementChartTitleAboveChart)
         .ChartTitle.Format.TextFrame2.TextRange.Characters.Text = Round(Now(), 0)
         .SetElement (msoElementPrimaryValueAxisTitleRotated)
         .Axes(xlValue, xlPrimary).AxisTitle.Text = "Pertes (kg eq gél/j)"
         
           a = 1
           b = 1
        
        For Each myseries1 In seriesCol1
            Set myseries1 = ActiveSheet.ChartObjects(1).Chart.SeriesCollection(a)
            Set myseries2 = ActiveSheet.ChartObjects(1).Chart.SeriesCollection(b)
            
        If myseries1 < myseries2 Then .Interior.Color = RGB(50, 0, 0) Else .Interior.Color = RGB(0, 50, 0)
         a = a + 1
         b = b + 1
         
         Next
        
    End With
    
    End Sub

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    Sub Test()
    Dim Sc1 As Series, Sc2 As Series
    Dim i As Byte
     
    With ActiveSheet.ChartObjects.Add(100, 100, 500, 300).Chart
        .ChartType = xlColumnClustered
        Set Sc1 = .SeriesCollection.NewSeries
        With Sc1
            .Values = "Feuil1!$B$3,Feuil1!$D$3,Feuil1!$F$3,Feuil1!$H$3,Feuil1!$J$3,Feuil1!$L$3"
            .XValues = Array("Total", "Filtration", "Démi", "Concentreurs", "Séchoirs", "Flottation")
            .Name = "Réel"
            .Interior.Color = RGB(0, 120, 0)
        End With
     
        Set Sc2 = .SeriesCollection.NewSeries
        With Sc2
            .Values = "Feuil1!$C$3,Feuil1!$E$3,Feuil1!$G$3,Feuil1!$I$3,Feuil1!$K$3,Feuil1!$M$3"
            .Name = "Référence"
            .Interior.Color = RGB(0, 0, 50)
        End With
     
        .SetElement msoElementChartTitleAboveChart
        .ChartTitle.Format.TextFrame2.TextRange.Characters.Text = Date
        .SetElement msoElementPrimaryValueAxisTitleRotated
        .Axes(xlValue, xlPrimary).AxisTitle.Text = "Pertes (kg eq gél/j)"
     
        For i = 1 To UBound(Sc1.Values)
            If Sc1.Values(i) > Sc2.Values(i) Then Sc1.Points(i).Interior.Color = 200
        Next i
    End With
    Set Sc1 = Nothing
    Set Sc2 = Nothing
    End Sub

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 44
    Par défaut
    Merci Beaucoup. Ca marche!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/01/2007, 21h14
  2. Changement de couleur d'un libellé sur OnClick
    Par maysa dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 15/11/2005, 15h29
  3. CSS Pas de changement de couleur quan on clique sur un lien
    Par pmboutteau dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 16/08/2005, 10h15
  4. Changement de couleur de police sur une partie d'un caption
    Par kobe dans le forum Composants VCL
    Réponses: 3
    Dernier message: 11/07/2005, 10h18
  5. Changement de couleur quand j'affiche du texte...
    Par MaxPayne dans le forum OpenGL
    Réponses: 3
    Dernier message: 10/12/2004, 13h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo