Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Convertir un nombre décimal en HEX avec 2 digits

7 réponses
Avatar
Jean-Marc
Bonjour,

J'essais de convertir un nombre de [0..256] en HEXA en affichant le tout sur
2 digits.

Example:
HEX(3) ->03
HEX(10) ->0A
HEX(32) ->20

J'essais avec la fonction suivante:
Format(Hex(CkSum), "00")

voici mon code mais il plante quand le nombre à convertir vaut 122...


Dim st As String

st = Format(Hex(121), "00") 'return 79
st = Format(Hex(123), "00") 'return 7B
st = Format(Hex(122), "00") 'return 00


Merci beaucoup...

7 réponses

Avatar
papou
Bonjour
As-tu regardé dans les fonctions natives d'Excel ?
Je pense à DECHEX (dans la catégorie des fonctions scientifiques) qui fait
exactement ce que tu cherches à faire.

Cordialement
Pascal

"Jean-Marc" a écrit dans le message de
news:
Bonjour,

J'essais de convertir un nombre de [0..256] en HEXA en affichant le tout
sur
2 digits.

Example:
HEX(3) ->03
HEX(10) ->0A
HEX(32) ->20

J'essais avec la fonction suivante:
Format(Hex(CkSum), "00")

voici mon code mais il plante quand le nombre à convertir vaut 122...


Dim st As String

st = Format(Hex(121), "00") 'return 79
st = Format(Hex(123), "00") 'return 7B
st = Format(Hex(122), "00") 'return 00


Merci beaucoup...


Avatar
papou
Petite précision :
La fonction est disponible si la macro complémentaire "Utilitaire d'analyse"
est cochée.

Cordialement
Pascal

"papou" <cpapoupasbon@çanonpluslaposte.net> a écrit dans le message de news:
%
Bonjour
As-tu regardé dans les fonctions natives d'Excel ?
Je pense à DECHEX (dans la catégorie des fonctions scientifiques) qui fait
exactement ce que tu cherches à faire.

Cordialement
Pascal

"Jean-Marc" a écrit dans le message
de news:
Bonjour,

J'essais de convertir un nombre de [0..256] en HEXA en affichant le tout
sur
2 digits.

Example:
HEX(3) ->03
HEX(10) ->0A
HEX(32) ->20

J'essais avec la fonction suivante:
Format(Hex(CkSum), "00")

voici mon code mais il plante quand le nombre à convertir vaut 122...


Dim st As String

st = Format(Hex(121), "00") 'return 79
st = Format(Hex(123), "00") 'return 7B
st = Format(Hex(122), "00") 'return 00


Merci beaucoup...






Avatar
isabelle
bonjour Jean Marc,

Hex, fonction
Renvoie une valeur de type String représentant un nombre sous forme hexadécimale.

on ne peut pas mettre un format nombre à un format texte.

isabelle


Bonjour,

J'essais de convertir un nombre de [0..256] en HEXA en affichant le tout sur
2 digits.

Example:
HEX(3) ->03
HEX(10) ->0A
HEX(32) ->20

J'essais avec la fonction suivante:
Format(Hex(CkSum), "00")

voici mon code mais il plante quand le nombre à convertir vaut 122...


Dim st As String

st = Format(Hex(121), "00") 'return 79
st = Format(Hex(123), "00") 'return 7B
st = Format(Hex(122), "00") 'return 00


Merci beaucoup...


Avatar
Jean-Marc
Bonjour,

Pourtant, j'arrive à formater des chaînes qui me retourne D5, A8 ou 03...

Merci


bonjour Jean Marc,

Hex, fonction
Renvoie une valeur de type String représentant un nombre sous forme hexadécimale.

on ne peut pas mettre un format nombre à un format texte.

isabelle


Bonjour,

J'essais de convertir un nombre de [0..256] en HEXA en affichant le tout sur
2 digits.

Example:
HEX(3) ->03
HEX(10) ->0A
HEX(32) ->20

J'essais avec la fonction suivante:
Format(Hex(CkSum), "00")

voici mon code mais il plante quand le nombre à convertir vaut 122...


Dim st As String

st = Format(Hex(121), "00") 'return 79
st = Format(Hex(123), "00") 'return 7B
st = Format(Hex(122), "00") 'return 00


Merci beaucoup...





Avatar
isabelle
..mais tu peut toujours traiter une chaine de caractère,

x = 3
If Application.CountA(Hex(x)) = 1 Then
st = "0" & Hex(x)
Else
st = Hex(x)
End If


isabelle


bonjour Jean Marc,

Hex, fonction
Renvoie une valeur de type String représentant un nombre sous forme
hexadécimale.

on ne peut pas mettre un format nombre à un format texte.

isabelle



Bonjour,

J'essais de convertir un nombre de [0..256] en HEXA en affichant le
tout sur 2 digits.

Example: HEX(3) ->03
HEX(10) ->0A
HEX(32) ->20

J'essais avec la fonction suivante:
Format(Hex(CkSum), "00")

voici mon code mais il plante quand le nombre à convertir vaut 122...


Dim st As String

st = Format(Hex(121), "00") 'return 79
st = Format(Hex(123), "00") 'return 7B
st = Format(Hex(122), "00") 'return 00


Merci beaucoup...




Avatar
Modeste
Bonsour® isabelle avec ferveur ;o))) vous nous disiez :

..mais tu peut toujours traiter une chaine de caractère,
Hex, fonction
Renvoie une valeur de type String représentant un nombre sous forme
hexadécimale.
J'essais de convertir un nombre de [0..256] en HEXA en affichant le
tout sur 2 digits.




parmi les macrocomplémentaires VBA il existe la fonction DECHEX
conversion décimale vers Hexa
ÞCHEX(A1;2)
../..
Convertit un nombre décimal en nombre hexadécimal.
Si cette fonction n'est pas disponible et renvoie l'erreur #NOM ?, installez et
chargez la macro complémentaire Utilitaire d'analyse.
Procédure
Dans le menu Outils, cliquez sur Macros complémentaires.
Dans la liste Macros complémentaires disponibles, activez la case à cocher
Utilitaire d'analyse, puis cliquez sur OK.
Si nécessaire, suivez les instructions fournies par le programme d'installation.
Syntaxe
DECHEX(nombre;nb_car)
nombre : représente le nombre entier décimal à convertir. Si nombre est
négatif, nb_car n'est pas pris en compte et DECHEX renvoie un nombre hexadécimal
de 10 caractères (40 bits), dans lequel le bit de poids fort est le bit de
signe. Les 39 autres bits sont des bits de grandeur. Les nombres négatifs sont
représentés à l'aide de la notation de complément à 2.
nb_car : représente le nombre de caractères à utiliser. Si nb_car est omis,
DECHEX utilise le nombre de caractères minimum nécessaire. L'argument nb_car
sert notamment à compléter la valeur renvoyée avec des zéros (0) de tête.

@+
;o)))



Avatar
isabelle
ha.. mais bien sur, super geedee,

x = Evaluate("ÞCHEX(122,2)")

bisou*
isabelle

Bonsour® isabelle avec ferveur ;o))) vous nous disiez :


..mais tu peut toujours traiter une chaine de caractère,

Hex, fonction
Renvoie une valeur de type String représentant un nombre sous forme
hexadécimale.

J'essais de convertir un nombre de [0..256] en HEXA en affichant le
tout sur 2 digits.





parmi les macrocomplémentaires VBA il existe la fonction DECHEX
conversion décimale vers Hexa
ÞCHEX(A1;2)
../..
Convertit un nombre décimal en nombre hexadécimal.
Si cette fonction n'est pas disponible et renvoie l'erreur #NOM ?, installez et
chargez la macro complémentaire Utilitaire d'analyse.
Procédure
Dans le menu Outils, cliquez sur Macros complémentaires.
Dans la liste Macros complémentaires disponibles, activez la case à cocher
Utilitaire d'analyse, puis cliquez sur OK.
Si nécessaire, suivez les instructions fournies par le programme d'installation.
Syntaxe
DECHEX(nombre;nb_car)
nombre : représente le nombre entier décimal à convertir. Si nombre est
négatif, nb_car n'est pas pris en compte et DECHEX renvoie un nombre hexadécimal
de 10 caractères (40 bits), dans lequel le bit de poids fort est le bit de
signe. Les 39 autres bits sont des bits de grandeur. Les nombres négatifs sont
représentés à l'aide de la notation de complément à 2.
nb_car : représente le nombre de caractères à utiliser. Si nb_car est omis,
DECHEX utilise le nombre de caractères minimum nécessaire. L'argument nb_car
sert notamment à compléter la valeur renvoyée avec des zéros (0) de tête.

@+
;o)))