Dennis souhaite remplir trois cellules (A1: A3) avec des valeurs RVB et qu’une autre cellule (C1) affiche la couleur en fonction de ces valeurs. Il se demande s’il existe un moyen simple de le faire.

Le moyen le plus simple de procéder consiste à utiliser une macro qui récupère les valeurs de A1: A3, puis modifie la couleur de la cellule C1 en fonction de ces valeurs.

Idéalement, la macro doit vérifier que les valeurs des cellules sources sont comprises entre 0 et 255. La macro suivante fonctionne parfaitement à cette fin:

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("A1:A3")) Is Nothing Then         lRed = Abs(Range("A1").Value) Mod 256         lGreen = Abs(Range("A2").Value) Mod 256         lBlue = Abs(Range("A3").Value) Mod 256

Range("C1").Interior.Color = _           RGB(lRed, lGreen, lBlue)

End If End Sub

Notez que cette macro doit être ajoutée au code de la feuille de calcul sur laquelle les cellules existent. (Cliquez avec le bouton droit sur l’onglet de la feuille et choisissez Afficher le code, puis ajoutez la macro à cet endroit.) Il s’agit d’un gestionnaire d’événements qui s’exécute automatiquement chaque fois qu’il y a un changement dans la cellule A1, A2 ou A3.

Les valeurs de ces cellules sont assurées d’être comprises entre 0 et 255 en prenant la valeur absolue du contenu de la cellule et en utilisant le reste (modulo)

de le diviser par 256.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (9090) s’applique à Microsoft Excel 97, 2000, 2002 et 2003. Vous pouvez trouver une version de cette astuce pour l’interface ruban d’Excel (Excel 2007 et versions ultérieures) ici:

link: / excelribbon-montrant_RGB_Colors_in_a_Cell [Affichage des couleurs RVB dans une cellule].