Pb création macro excel

Fermé
B-ta Messages postés 3 Date d'inscription dimanche 27 juillet 2008 Statut Membre Dernière intervention 27 juillet 2008 - 27 juil. 2008 à 01:58
B-ta Messages postés 3 Date d'inscription dimanche 27 juillet 2008 Statut Membre Dernière intervention 27 juillet 2008 - 27 juil. 2008 à 17:13
Bonjour à tous,

Voila je cherche à créer une macro permetant de convertir une partie d'une chaine excel en hexadécimal.

Par exemple pour la chaine suivante: 208200184EEAA
J'aimerais convertir 0184 en hexadecimal et ainsi obtenir 2082000B8EEAA en sachant qu'il est imperatif de conserver les zéros pour conserver toujours 13 caractéres.
Je cherche également à appliquer cette macro sur une centaine de chaines.

Je sais comment extraire des données d'une chaine.
Je connais la fonction dechex
Mais je ne sais pas comment combiner les 2

Pouvez vous m'aider sur ce point?
A voir également:

5 réponses

LePierre Messages postés 249 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 2 août 2012 337
27 juil. 2008 à 10:25
bonjour

Je ne sais pas si c'est ce que tu souhaites, mais essaye ceci :
Sub test()
    Chaine = "208200184EEAA" 
    Chaine1 = Left(Chaine, 5)
    Chaine2 = Mid(Chaine, 6, 4)
    Chaine3 = Right(Chaine, 4)
    a = Hex(Chaine2)
    Do Until Len(a) = 4
        a = "0" + a
    Loop
    NeoChaine = Chaine1 & a & Chaine3
End Sub

à plus
1
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
27 juil. 2008 à 11:46
Bonjour,

ou bien par formule :
=GAUCHE(A1;5)&DROITE("0000"&Dec2Hex(STXT(A1;6;4));4)&DROITE(A1;4)

eric
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
27 juil. 2008 à 13:50
Bonjour tous,
Beh moi j'ai pas la fonction Dec2Hex, du 2007 ?
Mais avec le 2000 et l'add-in MoreFunc..
=GAUCHE(A1;5)&CHBASE(STXT(A1;6;4);;16;4)&DROITE(A1;4)
A+
0
B-ta Messages postés 3 Date d'inscription dimanche 27 juillet 2008 Statut Membre Dernière intervention 27 juillet 2008
27 juil. 2008 à 13:51
Bonjour,

Merci à vous tous,

Eriic,
Pour que ta formule fonctionne de mon coté j'ai du remplacer la fonction DEC2HEX par DECHEX..
En tous cas cela fonctionne...

Concernant le post de Le pierre ( merci Le Pierre) je n'arrive pas à faire fonctionner cette macro, je suis en train de me tirer les cheveux...apparemment il y a une erreur sur la ligne a = Hex(Chaine2)...

Je pense que la logique est bonne mais je ne vois pas ou ça cloche...
0
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 1 190
27 juil. 2008 à 16:13
La maccro de Le Pierre fonctionne pourtant avec précision et le résulatat attendu est OK.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
B-ta Messages postés 3 Date d'inscription dimanche 27 juillet 2008 Statut Membre Dernière intervention 27 juillet 2008
27 juil. 2008 à 17:13
Alors c'est moi qui doit mal m'y prendre en l'executant..

Je vais plancher dessus jusqu'à ce que j'y arrive...

Je suis nouveau dans le domaine des macros d'excel.

En tout cas merci à tous de m'avoir répondu aussi rapidement..
0