Détermination de la valeur RVB d’une couleur (Microsoft Excel)
Neil utilise beaucoup les couleurs dans ses feuilles de calcul. Il sait qu’il peut générer une couleur basée sur une valeur RVB numérique (comme expliqué dans d’autres numéros ExcelTips). Neil aimerait faire le contraire: déterminer une valeur RVB. Il se demande s’il existe un moyen de retourner (via une fonction ou une macro)
la valeur RVB de la couleur utilisée pour remplir une cellule. (Neil veut que la couleur réelle soit appliquée à la cellule, pas une couleur « de remplacement », comme celle imposée par un format conditionnel.)
Excel n’inclut pas de fonction pour ce faire, mais si vous ne devez vérifier les valeurs RVB que pour une seule cellule, le moyen le plus simple est de suivre ces étapes:
-
Sélectionnez la cellule formatée avec la couleur que vous souhaitez vérifier.
-
Affichez l’onglet Accueil du ruban.
-
Cliquez sur la flèche vers le bas sur le côté droit de l’outil Couleur de remplissage, dans le groupe Police. Excel affiche une petite palette de couleurs et quelques autres options.
-
Choisissez plus de couleurs. Excel affiche la boîte de dialogue Couleurs.
-
Assurez-vous que l’onglet Personnalisé est affiché. (Voir la figure 1.)
-
Au bas de la boîte de dialogue, vous pouvez voir les valeurs individuelles pour les composants rouge, vert et bleu de la couleur dans la cellule.
-
Cliquez sur OK lorsque vous avez terminé.
Si vous avez besoin d’obtenir les valeurs plus souvent, créer votre propre fonction définie par l’utilisateur est la voie à suivre. La fonction que vous utilisez dépend de ce que vous souhaitez réellement renvoyer dans votre feuille de calcul. Par exemple, si vous souhaitez renvoyer le code hexadécimal traditionnel à six caractères pour les couleurs RVB, vous utiliserez la macro très simple suivante:
Function getRGB1(rcell) As String Dim sColor As String sColor = Right("000000" & Hex(rcell.Interior.Color), 6) getRGB1 = Right(sColor, 2) & Mid(sColor, 3, 2) & Left(sColor, 2) End Function
Cette macro examine la couleur intérieure de toute cellule que vous référencez, place les valeurs hexadécimales de la couleur dans le bon ordre et renvoie la chaîne à Excel. Pour utiliser la fonction, vous l’appelez simplement, dans votre feuille de calcul, avec une cellule référencée de cette manière:
=getRGB1(B4)
Cependant, vous ne voudrez peut-être pas les codes hexadécimaux traditionnels pour les couleurs RVB.
Si vous voulez obtenir les valeurs décimales pour chacune des couleurs, la macro suivante renvoie cela:
Function getRGB2(rcell) As String Dim C As Long Dim R As Long Dim G As Long Dim B As Long C = rcell.Interior.Color R = C Mod 256 G = C \ 256 Mod 256 B = C \ 65536 Mod 256 getRGB2 = "R=" & R & ", G=" & G & ", B=" & B End Function
Appelée de la même manière que la macro getRGB1, cette version renvoie une chaîne telle que « R = 255, G = 204, B = 0 ». Vous pouvez également modifier encore plus la macro afin qu’elle renvoie une valeur unique, basée sur un paramètre que vous avez défini:
Function getRGB3(rcell As Range, Optional opt As Integer) As Long Dim C As Long Dim R As Long Dim G As Long Dim B As Long C = rcell.Interior.Color R = C Mod 256 G = C \ 256 Mod 256 B = C \ 65536 Mod 256 If opt = 1 Then getRGB3 = R ElseIf opt = 2 Then getRGB3 = G ElseIf opt = 3 Then getRGB3 = B Else getRGB3 = C End If End Function
Pour utiliser la macro, ajoutez simplement un deuxième paramètre à la fonction utilisée dans votre feuille de calcul, en spécifiant ce que vous voulez:
=getRGB3(B4,1)
Si le deuxième paramètre est 1, la fonction renvoie uniquement la valeur rouge. Si vous spécifiez un deuxième paramètre de 2, la valeur verte est renvoyée et 3 renvoie la valeur bleue. Toute autre valeur du deuxième paramètre (ou si vous l’omettez complètement) renvoie la valeur décimale complète de la couleur intérieure.
Si vous ne souhaitez pas créer une macro ou si vous souhaitez déterminer les couleurs dans plus que votre feuille de calcul Excel, vous pouvez envisager un utilitaire tiers. Celui qui semble intéressant est Instant Eyedropper, qui est gratuit. Vous pouvez trouver plus d’informations à ce sujet ici:
http://instant-eyedropper.com
_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 (10180) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:
link: / excel-Determining_the_RGB_Value_of_a_Color [Détermination de la valeur RVB d’une couleur]
.