Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives

Advertisement

 
 
LinkBack Outils de la discussion
Vieux 10/01/2004, 16h40   #1 (permalink)
LaurentTBT
Guest
 
Messages: n/a
Par défaut Hexadécimal en décimal sous VBA

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.
 
ANNONCES
Vieux 10/01/2004, 21h16   #2 (permalink)
Myta
Guest
 
Messages: n/a
Par défaut Re: Hexadécimal en décimal sous VBA

Salut LaurentTBT

Partant du principe

Dim Couleur As Long
Couleur = RGB(&H00, &H33, &H66)

Couleur va te donner 6697728

Meme chose pour

Dim Couleur As Long
Couleur = RGB(00, 51, 102)

Sinon la formule est

Couleur=(Red * 1) + (Green * 256) + (Blue * 65536)

Donc

Couleur= (0 * 1) + (51 * 256) + (102 * 65536)

ou

Couleur = (&H00 * 1) + (&H33 * 256) + (&H66 * 65536)

Mytå
 
Vieux 10/01/2004, 22h05   #3 (permalink)
Roland
Guest
 
Messages: n/a
Par défaut Re: Hexadécimal en décimal sous VBA

Bonsoir à tous

Fort de tous ces renseignements cette fonction doit faire l'affaire

Function hdc(cc As String) As Long
hdc = (Mid(cc, 2, 1) * 16) + (Mid(cc, 3, 1)) _
+ (Mid(cc, 4, 1) * 16 * 256) + (Mid(cc, 5, 1) * 256) _
+ (Mid(cc, 6, 1) * 16 * 65536) + (Mid(cc, 7, 1) * 65536)
End Function

A+ Roland
 
Vieux 10/01/2004, 22h24   #4 (permalink)
LaurentTBT
Guest
 
Messages: n/a
Par défaut Re: Hexadécimal en décimal sous VBA

Bonsoir à tous

Un grand merci à vous deux, c'est nickel.
Voilà de quoi en faire de toutes les couleurs!

Bon dimanche.
 
Vieux 21/10/2004, 19h29   #5 (permalink)
avoriaz
Guest
 
Messages: n/a
Par défaut Re: Hexadécimal en décimal sous VBA

SALUT

bien cette fonction m'interresse bien fort

d'ailleur je voudrais convertir un colonne complette de valeur decimal en hexa et hexa vers decimal ???

c'est possible ?

avo
 
Vieux 21/10/2004, 20h24   #6 (permalink)
Ti
Guest
 
Messages: n/a
Par défaut Re: Hexadécimal en décimal sous VBA

je me souviens avoir mis aussi un fichier sur le forum avec une macro qui effectuait des conversions multibases.
 
Vieux 21/10/2004, 20h28   #7 (permalink)
avoriaz
Guest
 
Messages: n/a
Par défaut Re: Hexadécimal en décimal sous VBA

MERCI ti pour ta reponse j'essaye de retrouver ta macro !!!


avo

j'ai regarde sur veriti aussi au passage
 
ANNONCES
 

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui



Fuseau horaire GMT +2. Il est actuellement 17h55.


(C) 2006 Excel Downloads