obtenir les coordonnees RGB de la couleur d'une case
1 réponse
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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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" <titeuf24@discussions.microsoft.com> a écrit dans le message de
news: 9116A400-0096-4FB9-B49D-49BF865BF88F@microsoft.com...
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
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