reperage de la couleur d'une cellule

philmaure

XLDnaute Impliqué
bonjour,
sachant qu'une couleur verte correspond dans le VB : Color = 5287936
comment puis tester en vb la couleur d'une cellule pour mettre une indication dans une autre cellule

exemple: si la cellule A12 est verte alors mettre en B1 le chiffre 2

Merci pour aide
Cdlt
philippe
 

Pièces jointes

  • TEST.xlsm
    13.3 KB · Affichages: 15
  • TEST.xlsm
    13.3 KB · Affichages: 15

thebenoit59

XLDnaute Accro
Re : reperage de la couleur d'une cellule

Bonjour philmaure.

Code:
Sub TestCouleur()
Dim c As Variant
Dim d As Object
    Set d = CreateObject("Scripting.Dictionary")
        For Each c In Range("b:b")
            If c.Interior.Color = 5287936 Then d(c.Row) = 2
        Next c
        For Each c In d.keys
            Cells(c, 1).Value = d(c)
        Next c
End Sub
On vérifie si l'intérieure de la cellule = 5287936, si c'est le cas, on enregistre le n° de la ligne dans un dictionary avec comme item 2.
On boucle le dictionary en ajoutant la valeur 2 aux cellules de la colonne A.
 

philmaure

XLDnaute Impliqué
Re : reperage de la couleur d'une cellule

bonjour et un grand merci pour la solution

A quel endroit indique t-on de mettre le chiffre 2 dans la colonne A parce que parfois je souhaiterai l'indiquer dans une autre colonne ?

Cdlt
philippe
 

thebenoit59

XLDnaute Accro
Re : reperage de la couleur d'une cellule

Remplace plutôt ainsi :
Code:
Sub TestCouleur()
Dim c As Variant
Dim d As Object
    Set d = CreateObject("Scripting.Dictionary")
        For Each c In Range("b:b")
            If c.Interior.Color = 5287936 Then
                d(c.Row) = 2
            ElseIf c.Interior.Color = 5287935 Then
                d(c.Row) = 3
            End If
        Next c
        For Each c In d.keys
            Cells(c, 1).Value = d(c)
        Next c
End Sub
Ca évitera de tester la seconde condition si la première est trouvée.
 

Discussions similaires

Réponses
27
Affichages
2 K

Statistiques des forums

Discussions
314 211
Messages
2 107 328
Membres
109 804
dernier inscrit
Dramac