Mettre une variable en hexadécimale

Y compris Power BI, Power Query et toute autre question en lien avec Excel
I
Innuendo67
Membre habitué
Membre habitué
Messages : 73
Inscrit le : 26 août 2015
Version d'Excel : 2013 fr

Message par Innuendo67 » 12 mai 2016, 11:23

Bonjour à tous!

Je voudrais savoir s'il était possible de mettre une variable en hexadécimale?

J'ai:
Range("B2").Value = toto
toto contiendra toujours un ou plusieurs chiffres mais jamais de lettre.

J'aimerais donc arriver à ce résultat:
Chr$($Htoto)
mais cela ne marche pas.

J'ai essayé aussi:
Hex(toto)
ou
Hex("toto")
mais évidemment sans succès.

Je vous remercie de l'attention que vous porterez à mon sujet.

Cordialement,

Innuendo67
Avatar du membre
Raja
Passionné d'Excel
Passionné d'Excel
Messages : 5'190
Appréciations reçues : 12
Inscrit le : 3 février 2008
Version d'Excel : 2010 à 2016 FR et 2010 EN

Message par Raja » 12 mai 2016, 11:50

Bonjour,
Essaye comme ça :
Sub test()
    toto = 123456789
    Range("B2") = Application.Dec2Hex(toto)
End Sub
Cdlt,
Raja
I
Innuendo67
Membre habitué
Membre habitué
Messages : 73
Inscrit le : 26 août 2015
Version d'Excel : 2013 fr

Message par Innuendo67 » 12 mai 2016, 13:17

Merci raja,

Le code plante sur application....

Je n'ai pas dec2hex en proposition après avoir tapé application. .

Merci encore.

Cordialement,

Innuendo 67
Avatar du membre
Raja
Passionné d'Excel
Passionné d'Excel
Messages : 5'190
Appréciations reçues : 12
Inscrit le : 3 février 2008
Version d'Excel : 2010 à 2016 FR et 2010 EN

Message par Raja » 12 mai 2016, 14:00

Re,
Merci de joindre un fichier ou regarder comment ça marche dans le fichier ci-joint et adapte-le à ton besoin. Sinon essaye :
Range("B2") = WorksheetFunction.Dec2Hex(toto)
Test HexDec.xlsm
(15.45 Kio) Téléchargé 3 fois
Cdlt,
Raja
I
Innuendo67
Membre habitué
Membre habitué
Messages : 73
Inscrit le : 26 août 2015
Version d'Excel : 2013 fr

Message par Innuendo67 » 12 mai 2016, 20:28

Re Raja,

merci de t'attarder sur mon problème.

Je m'y prends surement mal car je n'ai pas trop l'habitude de manipuler de l'ASCII ou hexa...

Voilà mon code:
Range("B8").Value = nombre1.Value

Range("B8").Select
    Selection.TextToColumns Destination:=Range("B8"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
        :=".", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
    Range("C8").Select
    Selection.TextToColumns Destination:=Range("C8"), DataType:=xlFixedWidth, _
        OtherChar:=".", FieldInfo:=Array(Array(0, 1), Array(2, 1)), _
        TrailingMinusNumbers:=True
        

Range("B8") = Application.Dec2Hex(nombre1.Value)

prefixe1 = Chr$(&HFE) + Chr$(&HFE) + Chr$(&H1) + Chr$(&HE0)
suffixe = Chr$(&HFD)


If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True

Else
End If

MSComm1.Output = prefixe1 + Chr$(&H5) + Chr$(&H0) + Chr$(&H0) + Chr$(&H0) + [surligner]Chr$(&H Range("B8").Value)[/surligner] + suffixe
               
End Sub

Voilà en surligné c'est ce que je souhaiterais faire. En gros récupérer le nombre dans B8 et le convertir en hexa comme là. ou directement la valeur hexa mais je ne sais pas si cela fonctionnera.

Je te remercie de m'apporter tes lumières.

Cordialement,

Innuendo67
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message