Si je prends ton exemple, à savoir RGB(128,55,245), le produit de ces 3 nombres = 1.724.800 Comment Excel sait-il que c'est 125,55,245 et non pas par ex: 125,245,55 (les mêmes, mais dans un autre ordre) ?
Comprends-tu pourquoi je ne suis pas MVP ? Mais un Mini Verry Petit Personnage of Excel -) Heureusement que tu es là, avec tes copains, pour nous remettre dans le droit chemin.
Grand merci Bonne fin de journée Jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "MichD" a écrit dans le message de groupe de discussion : meaa4m$2gm$
Afin de simplifier l'explication :
Pour chaque élément de la fonction RGB(), on peut utiliser un nombre entre 0 et 255, donc 256 possibilités Rouge (R) = 256 Vert (G) = 256 Bleu (B) = 256
Le nombre de couleurs possible est : 256 * 256 * 256 = 16777216 couleurs possibles
Pour renseigner la propriété "Color", on peut écrire .Color RGB(128,55,245) ou remplacer la fonction par une constante entre 0 et 16777216
Si tu utilises la propriété ColorIndex, les seules valeurs disponibles sont des constantes entre 1 et 56
Vois-tu la différence? ...
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com
OK, je vois .
Si je prends ton exemple, à savoir RGB(128,55,245), le produit de ces 3
nombres = 1.724.800
Comment Excel sait-il que c'est 125,55,245 et non pas par ex: 125,245,55
(les mêmes, mais dans un autre ordre) ?
Comprends-tu pourquoi je ne suis pas MVP ?
Mais un Mini Verry Petit Personnage of Excel -)
Heureusement que tu es là, avec tes copains, pour nous remettre dans le
droit chemin.
Grand merci
Bonne fin de journée
Jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
meaa4m$2gm$1@speranza.aioe.org...
Afin de simplifier l'explication :
Pour chaque élément de la fonction RGB(), on peut utiliser un nombre entre 0
et 255, donc 256 possibilités
Rouge (R) = 256
Vert (G) = 256
Bleu (B) = 256
Le nombre de couleurs possible est : 256 * 256 * 256 = 16777216 couleurs
possibles
Pour renseigner la propriété "Color", on peut écrire .Color RGB(128,55,245) ou remplacer la fonction par une constante entre 0 et
16777216
Si tu utilises la propriété ColorIndex, les seules valeurs disponibles sont
des constantes entre 1 et 56
Vois-tu la différence? ...
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Si je prends ton exemple, à savoir RGB(128,55,245), le produit de ces 3 nombres = 1.724.800 Comment Excel sait-il que c'est 125,55,245 et non pas par ex: 125,245,55 (les mêmes, mais dans un autre ordre) ?
Comprends-tu pourquoi je ne suis pas MVP ? Mais un Mini Verry Petit Personnage of Excel -) Heureusement que tu es là, avec tes copains, pour nous remettre dans le droit chemin.
Grand merci Bonne fin de journée Jacques.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "MichD" a écrit dans le message de groupe de discussion : meaa4m$2gm$
Afin de simplifier l'explication :
Pour chaque élément de la fonction RGB(), on peut utiliser un nombre entre 0 et 255, donc 256 possibilités Rouge (R) = 256 Vert (G) = 256 Bleu (B) = 256
Le nombre de couleurs possible est : 256 * 256 * 256 = 16777216 couleurs possibles
Pour renseigner la propriété "Color", on peut écrire .Color RGB(128,55,245) ou remplacer la fonction par une constante entre 0 et 16777216
Si tu utilises la propriété ColorIndex, les seules valeurs disponibles sont des constantes entre 1 et 56
Vois-tu la différence? ...
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com
db
Le 18/03/2015 14:24, Jacquouille a écrit :
OK, je vois .
Si je prends ton exemple, à savoir RGB(128,55,245), le produit de ces 3 nombres = 1.724.800 Comment Excel sait-il que c'est 125,55,245 et non pas par ex: 125,245,55 (les mêmes, mais dans un autre ordre) ?
En fait, le nombre unique n'est pas le produit des 3 valeurs, mais la juxtaposition (en hexa) des trois valeurs, et dans l'autre sens (ne me demandez pas pourquoi…) : 128,45,55 => 372D80 (37->55, 2D->45, 80->128) Il ne reste plus qu'à transformer ce nombre en décimal : 3616128
Autre méthode : multiplier le 1er nombre par 1, le second par 256 et le dernier par 65536 et additionner le tout : (128 * 1 ) + (45 * 256) + (55 * 65536) = 3616128
De cette façon, il n'y a pas de confusion possible : un nombre est toujours le résultat de la conversion des 3 mêmes valeurs.
db
Le 18/03/2015 14:24, Jacquouille a écrit :
OK, je vois .
Si je prends ton exemple, à savoir RGB(128,55,245), le produit de ces 3
nombres = 1.724.800
Comment Excel sait-il que c'est 125,55,245 et non pas par ex:
125,245,55 (les mêmes, mais dans un autre ordre) ?
En fait, le nombre unique n'est pas le produit des 3 valeurs, mais la
juxtaposition (en hexa) des trois valeurs, et dans l'autre sens (ne me
demandez pas pourquoi…) :
128,45,55 => 372D80 (37->55, 2D->45, 80->128)
Il ne reste plus qu'à transformer ce nombre en décimal : 3616128
Autre méthode : multiplier le 1er nombre par 1, le second par 256 et le
dernier par 65536 et additionner le tout :
(128 * 1 ) + (45 * 256) + (55 * 65536) = 3616128
De cette façon, il n'y a pas de confusion possible : un nombre est
toujours le résultat de la conversion des 3 mêmes valeurs.
Si je prends ton exemple, à savoir RGB(128,55,245), le produit de ces 3 nombres = 1.724.800 Comment Excel sait-il que c'est 125,55,245 et non pas par ex: 125,245,55 (les mêmes, mais dans un autre ordre) ?
En fait, le nombre unique n'est pas le produit des 3 valeurs, mais la juxtaposition (en hexa) des trois valeurs, et dans l'autre sens (ne me demandez pas pourquoi…) : 128,45,55 => 372D80 (37->55, 2D->45, 80->128) Il ne reste plus qu'à transformer ce nombre en décimal : 3616128
Autre méthode : multiplier le 1er nombre par 1, le second par 256 et le dernier par 65536 et additionner le tout : (128 * 1 ) + (45 * 256) + (55 * 65536) = 3616128
De cette façon, il n'y a pas de confusion possible : un nombre est toujours le résultat de la conversion des 3 mêmes valeurs.
db
MichD
Suppose lorsque tu écris cette ligne de code : x = Range("A1").Interior.Color x est égal à 2096896 et que tu veuilles trouver le chiffre pour chacun des items "Rouge", "Vert" et "Bleu" Leur valeur respective est : 0, 255, 31
Voici une façon de procéder pour les extraire à partir de 2096896
Copie ce qui suit dans un module standard et affecte la couleur de fond à la cellule A1 de la feuille active. '------------------------------------------------------------------------ Sub test()
'Extrait la valeur décimale de la propriété 'color du fond de la cellule x = Range("A1").Interior.Color
'Utilise la fonction pour transformer au besoin 'La valeur décimale en ses composants MsgBox Rouge_Vert_Bleu(x) End Sub
'------------------------------------------------------------------------ Function Rouge_Vert_Bleu(ValDec) As Variant 'Utilisé dans l'exemple en VBA pour extraire les valeurs 'de chaque composant. Dim R As Integer, V As Integer, b As Integer R = ValDec 256 ^ 0 And 255 V = ValDec 256 ^ 1 And 255 b = ValDec 256 ^ 2 And 255 Rouge_Vert_Bleu = "Rouge = " & vbTab & R & vbCrLf & _ "Vert = " & vbTab & V & vbCrLf & _ "Bleu = " & vbTab & b End Function '------------------------------------------------------------------------
Suppose lorsque tu écris cette ligne de code :
x = Range("A1").Interior.Color
x est égal à 2096896 et que tu veuilles trouver le chiffre pour
chacun des items "Rouge", "Vert" et "Bleu"
Leur valeur respective est : 0, 255, 31
Voici une façon de procéder pour les extraire à partir de 2096896
Copie ce qui suit dans un module standard et affecte la couleur
de fond à la cellule A1 de la feuille active.
'------------------------------------------------------------------------
Sub test()
'Extrait la valeur décimale de la propriété
'color du fond de la cellule
x = Range("A1").Interior.Color
'Utilise la fonction pour transformer au besoin
'La valeur décimale en ses composants
MsgBox Rouge_Vert_Bleu(x)
End Sub
'------------------------------------------------------------------------
Function Rouge_Vert_Bleu(ValDec) As Variant
'Utilisé dans l'exemple en VBA pour extraire les valeurs
'de chaque composant.
Dim R As Integer, V As Integer, b As Integer
R = ValDec 256 ^ 0 And 255
V = ValDec 256 ^ 1 And 255
b = ValDec 256 ^ 2 And 255
Rouge_Vert_Bleu = "Rouge = " & vbTab & R & vbCrLf & _
"Vert = " & vbTab & V & vbCrLf & _
"Bleu = " & vbTab & b
End Function
'------------------------------------------------------------------------
Suppose lorsque tu écris cette ligne de code : x = Range("A1").Interior.Color x est égal à 2096896 et que tu veuilles trouver le chiffre pour chacun des items "Rouge", "Vert" et "Bleu" Leur valeur respective est : 0, 255, 31
Voici une façon de procéder pour les extraire à partir de 2096896
Copie ce qui suit dans un module standard et affecte la couleur de fond à la cellule A1 de la feuille active. '------------------------------------------------------------------------ Sub test()
'Extrait la valeur décimale de la propriété 'color du fond de la cellule x = Range("A1").Interior.Color
'Utilise la fonction pour transformer au besoin 'La valeur décimale en ses composants MsgBox Rouge_Vert_Bleu(x) End Sub
'------------------------------------------------------------------------ Function Rouge_Vert_Bleu(ValDec) As Variant 'Utilisé dans l'exemple en VBA pour extraire les valeurs 'de chaque composant. Dim R As Integer, V As Integer, b As Integer R = ValDec 256 ^ 0 And 255 V = ValDec 256 ^ 1 And 255 b = ValDec 256 ^ 2 And 255 Rouge_Vert_Bleu = "Rouge = " & vbTab & R & vbCrLf & _ "Vert = " & vbTab & V & vbCrLf & _ "Bleu = " & vbTab & b End Function '------------------------------------------------------------------------
Jacquouille
Hello Je viens de faire mes devoirs (hélas, pas conjugaux). Via cette macro, je colorie a1,a2 et a3 avec la même couleur (vert fluo). ----------- Sub color_Jac() Range("a1").Interior.Color = 2096896 Range("a2").Interior.Color = RGB(0, 255, 31) Range("a3").Interior.ColorIndex = 4 End Sub -------------- Ensuite, je teste avec sub test et ta fonction Cela me renvoie: R=0 - V = 255 et B = 0
Or, B = 31 d'après la macro qui a colorié. Pour info, j'ai fait le test sur A1, A2 et A3 et le msg me sort 3 x la même chose. Pour info2, avant d'envoyer , je viens de tester en modifiant RGB de Sub Color-Jac avec RGB(0,255,0) qui donne le même vert et le même résultat au msg qu'avec RGB(0,255,31)
???? moi plus piger.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "MichD" a écrit dans le message de groupe de discussion : meccfd$j12$
Suppose lorsque tu écris cette ligne de code : x = Range("A1").Interior.Color x est égal à 2096896 et que tu veuilles trouver le chiffre pour chacun des items "Rouge", "Vert" et "Bleu" Leur valeur respective est : 0, 255, 31
Voici une façon de procéder pour les extraire à partir de 2096896
Copie ce qui suit dans un module standard et affecte la couleur de fond à la cellule A1 de la feuille active. '------------------------------------------------------------------------ Sub test()
'Extrait la valeur décimale de la propriété 'color du fond de la cellule x = Range("A1").Interior.Color
'Utilise la fonction pour transformer au besoin 'La valeur décimale en ses composants MsgBox Rouge_Vert_Bleu(x) End Sub
'------------------------------------------------------------------------ Function Rouge_Vert_Bleu(ValDec) As Variant 'Utilisé dans l'exemple en VBA pour extraire les valeurs 'de chaque composant. Dim R As Integer, V As Integer, b As Integer R = ValDec 256 ^ 0 And 255 V = ValDec 256 ^ 1 And 255 b = ValDec 256 ^ 2 And 255 Rouge_Vert_Bleu = "Rouge = " & vbTab & R & vbCrLf & _ "Vert = " & vbTab & V & vbCrLf & _ "Bleu = " & vbTab & b End Function '------------------------------------------------------------------------
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com
Hello
Je viens de faire mes devoirs (hélas, pas conjugaux).
Via cette macro, je colorie a1,a2 et a3 avec la même couleur (vert fluo).
-----------
Sub color_Jac()
Range("a1").Interior.Color = 2096896
Range("a2").Interior.Color = RGB(0, 255, 31)
Range("a3").Interior.ColorIndex = 4
End Sub
--------------
Ensuite, je teste avec sub test et ta fonction
Cela me renvoie:
R=0 - V = 255 et B = 0
Or, B = 31 d'après la macro qui a colorié.
Pour info, j'ai fait le test sur A1, A2 et A3 et le msg me sort 3 x la même
chose.
Pour info2, avant d'envoyer , je viens de tester en modifiant RGB de Sub
Color-Jac avec RGB(0,255,0) qui donne le même vert et le même résultat au
msg qu'avec RGB(0,255,31)
????
moi plus piger.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme."
"MichD" a écrit dans le message de groupe de discussion :
meccfd$j12$1@speranza.aioe.org...
Suppose lorsque tu écris cette ligne de code :
x = Range("A1").Interior.Color
x est égal à 2096896 et que tu veuilles trouver le chiffre pour
chacun des items "Rouge", "Vert" et "Bleu"
Leur valeur respective est : 0, 255, 31
Voici une façon de procéder pour les extraire à partir de 2096896
Copie ce qui suit dans un module standard et affecte la couleur
de fond à la cellule A1 de la feuille active.
'------------------------------------------------------------------------
Sub test()
'Extrait la valeur décimale de la propriété
'color du fond de la cellule
x = Range("A1").Interior.Color
'Utilise la fonction pour transformer au besoin
'La valeur décimale en ses composants
MsgBox Rouge_Vert_Bleu(x)
End Sub
'------------------------------------------------------------------------
Function Rouge_Vert_Bleu(ValDec) As Variant
'Utilisé dans l'exemple en VBA pour extraire les valeurs
'de chaque composant.
Dim R As Integer, V As Integer, b As Integer
R = ValDec 256 ^ 0 And 255
V = ValDec 256 ^ 1 And 255
b = ValDec 256 ^ 2 And 255
Rouge_Vert_Bleu = "Rouge = " & vbTab & R & vbCrLf & _
"Vert = " & vbTab & V & vbCrLf & _
"Bleu = " & vbTab & b
End Function
'------------------------------------------------------------------------
---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast.
http://www.avast.com
Hello Je viens de faire mes devoirs (hélas, pas conjugaux). Via cette macro, je colorie a1,a2 et a3 avec la même couleur (vert fluo). ----------- Sub color_Jac() Range("a1").Interior.Color = 2096896 Range("a2").Interior.Color = RGB(0, 255, 31) Range("a3").Interior.ColorIndex = 4 End Sub -------------- Ensuite, je teste avec sub test et ta fonction Cela me renvoie: R=0 - V = 255 et B = 0
Or, B = 31 d'après la macro qui a colorié. Pour info, j'ai fait le test sur A1, A2 et A3 et le msg me sort 3 x la même chose. Pour info2, avant d'envoyer , je viens de tester en modifiant RGB de Sub Color-Jac avec RGB(0,255,0) qui donne le même vert et le même résultat au msg qu'avec RGB(0,255,31)
???? moi plus piger.
Jacquouille
" Le vin est au repas ce que le parfum est à la femme." "MichD" a écrit dans le message de groupe de discussion : meccfd$j12$
Suppose lorsque tu écris cette ligne de code : x = Range("A1").Interior.Color x est égal à 2096896 et que tu veuilles trouver le chiffre pour chacun des items "Rouge", "Vert" et "Bleu" Leur valeur respective est : 0, 255, 31
Voici une façon de procéder pour les extraire à partir de 2096896
Copie ce qui suit dans un module standard et affecte la couleur de fond à la cellule A1 de la feuille active. '------------------------------------------------------------------------ Sub test()
'Extrait la valeur décimale de la propriété 'color du fond de la cellule x = Range("A1").Interior.Color
'Utilise la fonction pour transformer au besoin 'La valeur décimale en ses composants MsgBox Rouge_Vert_Bleu(x) End Sub
'------------------------------------------------------------------------ Function Rouge_Vert_Bleu(ValDec) As Variant 'Utilisé dans l'exemple en VBA pour extraire les valeurs 'de chaque composant. Dim R As Integer, V As Integer, b As Integer R = ValDec 256 ^ 0 And 255 V = ValDec 256 ^ 1 And 255 b = ValDec 256 ^ 2 And 255 Rouge_Vert_Bleu = "Rouge = " & vbTab & R & vbCrLf & _ "Vert = " & vbTab & V & vbCrLf & _ "Bleu = " & vbTab & b End Function '------------------------------------------------------------------------
--- L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel antivirus Avast. http://www.avast.com