OVH Cloud OVH Cloud

Hexadecimal et decimal, comment convertir dans une macro

8 réponses
Avatar
Bernard
Bonsoir
Comment convertir, dans une macro, le contenu d'une variable (format string
de 1 caractère) en sa représentation décimale? Un espace donne 20 en
hexa(je crois), qui donne 32 en décimal.

Et comment affecter une valeur hexa à une variable? MaVarHex = ........
D'avance merci
Bernard

8 réponses

Avatar
JpPradier
Bonsoir Bernard

Pour avoir le code de l'espace en décimal : asc(" ")
Pour affecter une variable en hexa : MaVarHex= &H4F
Pour transformer du décimal en Hexa : MaVarHex=Hex(32)
Pour l'inverse, je n'ai pas trouvé de fonction directe.

j-p
Avatar
LeSteph
Bonsoir ,
Si cela peut t'aider

convertir un nombre en Hexa
msgbox(Hex$(45))
"2D"
Mais du texte ?

LeSteph

"Bernard" a écrit dans le message de
news:%23Q6$
Bonsoir
Comment convertir, dans une macro, le contenu d'une variable (format
string

de 1 caractère) en sa représentation décimale? Un espace donne 20 en
hexa(je crois), qui donne 32 en décimal.

Et comment affecter une valeur hexa à une variable? MaVarHex = ........
D'avance merci
Bernard




Avatar
docm
Bonsoir JpPradier

Pour transformer du Hexa en décimal :
txt = UCase$( MaVarHex )
If Left$(txt, 2) <> "&H" Then txt = "&H" & txt
value = CLng(txt)

Salutations.

"JpPradier" wrote in message
news:eDAM#
Bonsoir Bernard

Pour avoir le code de l'espace en décimal : asc(" ")
Pour affecter une variable en hexa : MaVarHex= &H4F
Pour transformer du décimal en Hexa : MaVarHex=Hex(32)
Pour l'inverse, je n'ai pas trouvé de fonction directe.


j-p



Avatar
Bernard
Merci à tous

J'avais bien vu la fonction HEXDEC, mais elle ne peut pas être appellée par
macro (en tout cas, je n'ai pas trouvé comment).
En tout cas, ça marche et c'est le principal...

Bernard

"Bernard" a écrit dans le message de
news:%23Q6$
Bonsoir
Comment convertir, dans une macro, le contenu d'une variable (format
string

de 1 caractère) en sa représentation décimale? Un espace donne 20 en
hexa(je crois), qui donne 32 en décimal.

Et comment affecter une valeur hexa à une variable? MaVarHex = ........
D'avance merci
Bernard




Avatar
Bernard
J'oubliai, la solution retenue:
Long1 = CInt("&H" & Hex(Asc(Varstring)))
Varstring a toujours une longueur de 1 (dans la macro et à cet endroit)

Re-merci

"Bernard" a écrit dans le message de
news:
Merci à tous

J'avais bien vu la fonction HEXDEC, mais elle ne peut pas être appellée
par

macro (en tout cas, je n'ai pas trouvé comment).
En tout cas, ça marche et c'est le principal...

Bernard

"Bernard" a écrit dans le message de
news:%23Q6$
Bonsoir
Comment convertir, dans une macro, le contenu d'une variable (format
string

de 1 caractère) en sa représentation décimale? Un espace donne 20 en
hexa(je crois), qui donne 32 en décimal.

Et comment affecter une valeur hexa à une variable? MaVarHex = ........
D'avance merci
Bernard








Avatar
JpPradier
Ah merci docm. J'avais essayé un truc de ce genre à base d'évaluate qui ne fonctionnait pas. J'avais
fini par faire une fonction de conversion.
ceci est plus rapide. D'ailleurs tu n'as meme pas besoin du Ucase, ca marche sans.

j-p
Avatar
docm
Exact j-p.
VB reconnaît aussi bien &h20 que &H20 comme étant une valeur hexadécimale.
L'emploi du h minuscule ne l'offusque pas.

Au plaisir.


"JpPradier" wrote in message
news:
Ah merci docm. J'avais essayé un truc de ce genre à base d'évaluate qui ne
fonctionnait pas. J'avais

fini par faire une fonction de conversion.
ceci est plus rapide. D'ailleurs tu n'as meme pas besoin du Ucase, ca
marche sans.


j-p



Avatar
JpPradier
Je pensais surtout aux valeurs hexa elles-memes, mais excel ne s'arrete pas sur un si petit détail
;-))

j-p