L
LaurentTBT
Guest
Bonjour à tous.
Peut-on convertir un nombre hexadécimal en décimal sous VBA?
En effet, la fonction existe sous excel grâce à l'utilitaire d'analyse (HEXDEC), et par ailleurs, l'excellent fichier de Ti "Fonctions 2000_XP" (pub, lol) me dit que la traduction en anglais est HEX2DEC. Mais sous VBA, worksheetfunction.hex2dec ne fonctionne pas. Bon, si la version Excel n'existe pas, je pourrai toujours passer par un calcul dans une cellule excel, mais ce n'est pas très propre!
Pour être plus précis, je cherche à mettre un contrôle d'une couleur que je connais sous la forme: #003366. 00, 33 et 66 sont les valeurs en hexadécimal des composantes rouges, vertes et bleues, soit en décimal: 00, 51, 102. Je peux donc forcer la couleur ainsi:
MonContrôle.BackColor=RGB(00,51,102), soit 6697728
Il me manque juste la conversion HEXDEC avant, à moins que quelqu'un connaisse une autre méthode pour obtenir directement le code couleur à partir de la valeur initiale (soit convertir directement #003366 en 6697728)
J'espère avoir été suffisamment clair.
Merci d'avance.
Bon week-end.
Peut-on convertir un nombre hexadécimal en décimal sous VBA?
En effet, la fonction existe sous excel grâce à l'utilitaire d'analyse (HEXDEC), et par ailleurs, l'excellent fichier de Ti "Fonctions 2000_XP" (pub, lol) me dit que la traduction en anglais est HEX2DEC. Mais sous VBA, worksheetfunction.hex2dec ne fonctionne pas. Bon, si la version Excel n'existe pas, je pourrai toujours passer par un calcul dans une cellule excel, mais ce n'est pas très propre!
Pour être plus précis, je cherche à mettre un contrôle d'une couleur que je connais sous la forme: #003366. 00, 33 et 66 sont les valeurs en hexadécimal des composantes rouges, vertes et bleues, soit en décimal: 00, 51, 102. Je peux donc forcer la couleur ainsi:
MonContrôle.BackColor=RGB(00,51,102), soit 6697728
Il me manque juste la conversion HEXDEC avant, à moins que quelqu'un connaisse une autre méthode pour obtenir directement le code couleur à partir de la valeur initiale (soit convertir directement #003366 en 6697728)
J'espère avoir été suffisamment clair.
Merci d'avance.
Bon week-end.