- Public Sub RGB_Reverse(vRGB As Long)
- Dim R As Long, G As Long, B As Long
- Dim i As Long
- Dim Ar1, Ar2
-
- Const conRed = 1, conGreen = 256, conBlue = 65536
-
- If vRGB < 0 Or vRGB > 16777215 Then
- MsgBox "Valeur 'vRGB' incorrecte", vbOKOnly
- Exit Sub
- End If
-
- Ar1 = Array(conRed, conGreen, conBlue)
- Ar2 = Array(R, G, B)
-
- For i = UBound(Ar1) To LBound(Ar1) Step -1
- If vRGB >= Ar1(i) Then
- Ar2(i) = (vRGB - (vRGB Mod Ar1(i))) / Ar1(i)
- vRGB = vRGB - (Ar1(i) * Ar2(i))
- End If
- Next
-
- Debug.Print Ar2(0); Ar2(1); Ar2(2)
-
- End Sub
Public Sub RGB_Reverse(vRGB As Long)
Dim R As Long, G As Long, B As Long
Dim i As Long
Dim Ar1, Ar2
Const conRed = 1, conGreen = 256, conBlue = 65536
If vRGB < 0 Or vRGB > 16777215 Then
MsgBox "Valeur 'vRGB' incorrecte", vbOKOnly
Exit Sub
End If
Ar1 = Array(conRed, conGreen, conBlue)
Ar2 = Array(R, G, B)
For i = UBound(Ar1) To LBound(Ar1) Step -1
If vRGB >= Ar1(i) Then
Ar2(i) = (vRGB - (vRGB Mod Ar1(i))) / Ar1(i)
vRGB = vRGB - (Ar1(i) * Ar2(i))
End If
Next
Debug.Print Ar2(0); Ar2(1); Ar2(2)
End Sub