Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

obtenir les coordonnees RGB de la couleur d'une case

1 réponse
Avatar
titeuf24
Bonjour a tous,

voila, j'aurai besoin de recuperer les coordonnees de plusieurs couleurs
contenues dans un fichier excel qui m'a ete envoye.

J'ai bien trouve un bout de code sur Microsoft.com, mais il ne fonctionne
pas correctement (il me donne toujours les RGB de la couleur par defaut
correspondante, pas de la couleur qui apparait vraiment dans mon classeur).

QQun aurait-il une meilleure solution? Pour info voici le code que j'ai
utilise:

Function GetRGB(RGBval As Long, Num As Integer) As Integer
' Check if Num, RGBval are valid.
If Num > 0 And Num < 4 And RGBval > -1 And RGBval < 16777216 Then
GetRGB = RGBval \ 256 ^ (Num - 1) And 255
Else
' Return True (-1) if Num or RGBval are invalid.
GetRGB = True
End If
End Function

Sub get_rgb()

MsgBox GetRGB(ActiveCell.Interior.Color, 1) & ": Red"
MsgBox GetRGB(ActiveCell.Interior.Color, 2) & ": Green"
MsgBox GetRGB(ActiveCell.Interior.Color, 3) & ": Blue"

End Sub

Merci d'avance!!

1 réponse

Avatar
Michel Pierron
Bonjour titeuf24;
Comme ceci:

Private Type RGB_Wrapper
Red As Byte
Green As Byte
Blue As Byte
Alpha As Byte
End Type

Private Type LNG_Wrapper
Value As Long
End Type

Sub RGBColor()
Dim Color As LNG_Wrapper, Colors As RGB_Wrapper
Color.Value = ActiveCell.Interior.Color
LSet Colors = Color
MsgBox "R: " & Colors.Red & vbLf _
& "G: " & Colors.Green & vbLf _
& "B: " & Colors.Blue
End Sub

MP

"titeuf24" a écrit dans le message de
news:
Bonjour a tous,

voila, j'aurai besoin de recuperer les coordonnees de plusieurs couleurs
contenues dans un fichier excel qui m'a ete envoye.

J'ai bien trouve un bout de code sur Microsoft.com, mais il ne fonctionne
pas correctement (il me donne toujours les RGB de la couleur par defaut
correspondante, pas de la couleur qui apparait vraiment dans mon
classeur).

QQun aurait-il une meilleure solution? Pour info voici le code que j'ai
utilise:

Function GetRGB(RGBval As Long, Num As Integer) As Integer
' Check if Num, RGBval are valid.
If Num > 0 And Num < 4 And RGBval > -1 And RGBval < 16777216 Then
GetRGB = RGBval 256 ^ (Num - 1) And 255
Else
' Return True (-1) if Num or RGBval are invalid.
GetRGB = True
End If
End Function

Sub get_rgb()

MsgBox GetRGB(ActiveCell.Interior.Color, 1) & ": Red"
MsgBox GetRGB(ActiveCell.Interior.Color, 2) & ": Green"
MsgBox GetRGB(ActiveCell.Interior.Color, 3) & ": Blue"

End Sub

Merci d'avance!!