VBA Excel: Gamme RGB pour la compatibilité Colorindex

J'ai une macro créée dans Excel 2007 qui permet à une valeur dépend de la couleur de la police d'un file source, comme suit (ce code fait partie d'une boucle):

If Worksheets("Source1").Cells(i, j).Font.Color = RGB(165, 165, 165) Or Worksheets("Source1").Cells(i, j).Font.Color = RGB(117, 146, 60) Then Worksheets("Result").Cells(UnusedRow, 15).Value = "Closed" Else Worksheets("Result").Cells(UnusedRow, 15).Value = "Active" End If 

Cela fonctionne sans problème.

Cependant, de façon étrangement suffisante, les mêmes cellules du même file source ont des valeurs RVB différentes lorsqu'elles sont ouvertes avec Excel 2013 : RGB (165, 165, 165) en 2007 devient RVB (166, 166, 166) en 2013 et RGB (117, 146 , 60) en 2007 devient RVB (118, 147, 60) en 2013.

C'est pourquoi je pensais utiliser une petite gamme pour chaque numéro dans la couleur de la police, par exemple pour RGB (x, y, z) à partir du file source:

  If x => 164 And x <= 167 And y => 164 And y <= 167 And z => 164 And z <= 167 Then ... 

Quelqu'un peut-il me dire comment coder correctement? Merci!

D'accord, mon cerveau est apparu pour l'air, et j'ai une réponse.

Au lieu de Color , utilisez ColorIndex . C'est l'index de la position de la couleur qu'ils choisissent dans la palette.

Je ne dis pas que c'est un excellent système (ce n'est pas), mais count tenu de votre contrainte – en s'appuyant sur l'user pour cliquer sur un certain button de couleur, c'est aussi bien que vous allez get.

Je pense.