Insérer un espace tous les 2 caractères dans une chaine Héxadécimale

  • Initiateur de la discussion Initiateur de la discussion Boripebe
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Boripebe

XLDnaute Nouveau
Bonjour au forum et merci pour les réponses précieuses qu'il apporte 🙂

J'ai une cellule avec une chaine de caractères en héxadécimal et on me demande de changer l'affichage :
- en insérant un espace tous les 2 cararctères
- de mettre tous les caractères en majuscule
Voir exemple ci-dessous

J'ai navigué dans le forum sans trouver de solution. Je cherche une petite macro qui pourrait me rendre ce service.
Par avance merci pour vos propositions.
Cordialement

Boripebe

AVANT 0022647d0ded0022647d0defff8ec0004900f004885e000000022f0020100a005c00000000000000000000000005c7100030000000004bf563b

APRES 00 22 64 7D 0D ED 00 22 64 7D 0D EF FF 8E C0 00 6C 00 E3 FD 26 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 60 71 03 03 00 00 00 00 1B 00 01 00 1B FE 9F 69 88 91 2D 18 01 00 00 00 0D 03 00 00 00 00 78 33 3A 08 80 00 E3 65 11 13 00 00 50 69 6E 67 20
 
Re : Insérer un espace tous les 2 caractères dans une chaine Héxadécimale

Bonjour

à adapter et tester

Code:
Sub Inserer()
 Dim i, MaVar
 For i = 1 To Len(Range("A1")) Step 2
    MaVar = MaVar & UCase(Mid(Range("E35"), i, 2)) & " "
 Next
 Range("B1") = Left(MaVar, Len(MaVar) - 1)
End Sub

A+
 
Re : Insérer un espace tous les 2 caractères dans une chaine Héxadécimale

Bonjour Boripede, le forum,

Je propose la fonction suivante :

Code:
Public Function Hexa(Texte As String) As String

    Texte = Replace(Texte, " ", "")
    Compteur = 0
    
    For i = 1 To Len(Texte)
        Compteur = Compteur + 1
        If Compteur = 1 Then Nouveau_Texte = Nouveau_Texte & UCase(Mid(Texte, i, 1))
        If Compteur = 2 Then Nouveau_Texte = Nouveau_Texte & " " & UCase(Mid(Texte, i, 1)): Compteur = 0
    Next
    
    Hexa = Nouveau_Texte
    
End Function

Vérifiez que cela fonctionne, et bonne journée 🙂
 
Re : Insérer un espace tous les 2 caractères dans une chaine Héxadécimale

Merci pour vos propositions :
La fonction de Lolotte83 est OK, j'ai bien le résultat attendu (après avoir supprimé l'espace qui était par erreur dans mon exemple)
Pour la fonction de NezQuiCoule, j'ai une anomalie en début de chaine car j'ai un espace après le 1er caractère. J'ai mis la variable compteur à 1 au lieu de 0 et maintenant tout est OK
Merci à PAF pour sa proposition qui demande à être adaptée .... mais dans l'urgence je n'ai pas trop le temps de me pencher sur le problème.

Merci à tous pour vos réponses rapides
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour