toto = vbWindowBackground
MsgBox toto
MsgBox Hex(vbWindowBackground) & vbCrLf & "0x80000005"
MsgBox Val("&H80000005") = vbWindowBackground
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionPrivate lacoul As Long
Private Type mescomposantes
R As Long
G As Long
B As Long
End Type
Private Declare Function TranslateColor Lib "olepro32.dll" Alias "OleTranslateColor" (ByVal clr As OLE_COLOR, ByVal palet As Long, col As Long) As Long
Private Sub Command1_Click()
Dim coulchoisie As Long
coulchoisie = vbWindowBackground ' ou celle que tu veux parmi les constantes/couleurs/système
ret = TranslateColor(coulchoisie, 0, lacoul)
MsgBox "la couleur choisie est ainsi composée, dans l'ordre R,G,B : " & vbCrLf & TRANSLATERGB(lacoul).R & vbCrLf & TRANSLATERGB(lacoul).G & vbCrLf & TRANSLATERGB(lacoul).B
End Sub
Private Function TRANSLATERGB(ByVal lacoul) As mescomposantes
TranslateColor lacoul, 0, lacoul
TRANSLATERGB.R = lacoul And &HFF&
TRANSLATERGB.G = (lacoul And &HFF00&) / 2 ^ 8
TRANSLATERGB.B = (lacoul And &HFF0000) / 2 ^ 16
End Function
Private Type mescomposantes
R As Long
G As Long
B As Long
End Type
Private Declare Function TranslateColor Lib "olepro32.dll" Alias "OleTranslateColor" (ByVal clr As OLE_COLOR, ByVal palet As Long, col As Long) As Long
Private Sub Command1_Click()
Dim coulchoisie As Long
coulchoisie = vbHighlight ' où celle que tu veux parmi les constantes/couleurs/système
MsgBox "la couleur choisie est ainsi composée, dans l'ordre R,G,B : " & vbCrLf & TRANSLATERGB(coulchoisie).R & vbCrLf & TRANSLATERGB(coulchoisie).G & vbCrLf & TRANSLATERGB(coulchoisie).B
End Sub
Private Function TRANSLATERGB(ByVal coulchoisie As Long) As mescomposantes
Dim lacoul As Long
TranslateColor coulchoisie, 0, lacoul
TRANSLATERGB.R = lacoul And &HFF&
TRANSLATERGB.G = (lacoul And &HFF00&) / 2 ^ 8
TRANSLATERGB.B = (lacoul And &HFF0000) / 2 ^ 16
End Function