Couleur de fond définie par une variable

Bonjour à tous,

Pour éditer un bon de commande, je souhaiterais lors qu'on rentre la référence d'une couleur de type RAL dans une cellule, le fond de la case voisine s'affiche avec cette couleur. J'ai donc créé une feuille (2) qui recense les équivalences RAL / RGB et affiche le RGB en A1 du RAL entré dans la cellule B6 par une RECHERCHEV et ai créé une variable à partir de cette cellule, que j'essaye de renvoyer dans les propriétés de fond de la cellule que je souhaite colorer, en vain.

Je vous joins le fichier pour une meilleur compréhension.

109test.xlsm (24.02 Ko)

D'avance merci pour votre aide, bien à vous.

Baptiste.

bonjour,

une proposition de correction

273test.xlsm (23.96 Ko)

Waho, super et merci pour votre réactivité !

Cependant je n'arrive pas à visualiser votre solution. Je ne vois pas de VBA ?

Merci encore.

(A vrai dire cela ne fonctionne pas sur Mac si ? La cellule affichant la couleur ne change pas)

Bonjour,

la couleur s'adapte automtiquement dès qu'il y a un changement en B6 sur feuil1.

le code se trouve dans le module de feuil1 et dans module 1 (variables)

Bonjour,

Je viens d'accéder à votre code depuis un PC. Pourquoi ne peut-on pas garder la variable couleur sous la forme "XXX, XXX, XXX" ou même "RGB XXX, XXX, XXX" puis l'affecter à la propriété interior.color ?

D'avance merci pour vos éclaircissements,

Baptiste.

Bonjour,

tout simplement parce que cette syntaxe ne fait pas partie du language VBA.

Je me permets d'insister, mais c'est à dire que:

  • RGB(couleur(0), couleur(1), couleur(2)) avec couleur renvoyant à 3 chiffres
  • RGB (couleur) avec couleur renvoyant à par ex "255,255,255"

ne sont pas tant identiques ? Car 255,255,255 n'est ni du texte ni un nombre ?

Merci.

rebonjour,

la fonction RGB a besoin de 3 paramètres (une valeur pour le R, une valeur pour le G une valeur pour le B).

cette fonction convertit les 3 arguments donnés en paramètres en un nombre unique qui représente la couleur.

r*256*256+g*256+b

en utilisant la syntaxe RGB(couleur), la formulation n'est pas correcte car tu ne donnes qu'un seul paramètre à la fonction RGB. paramètre qui est un texte qui n'est pas compris par la fonction.

pour que la fonction comprenne ce paramètre il aurait fallu qu'elle soit programmée pour le comprendre, ce qui n'est pas le cas d'où la proposition qui met les paramètres au bon format avant l'appel de la fonction.

J'ai tout pigé !

Merci beaucoup.

Rechercher des sujets similaires à "couleur fond definie variable"