détecter les espaces

  • Initiateur de la discussion Essouabni
  • Date de début
E

Essouabni

Guest
Salut,

J'ai une cellule qui contient des données numériques en hexadécimal séparées par des espaces ( par exple :00 FF A1 12 25 56 ) et je voudrais recopier chaque octet (2 chiffres) dans une cellule à part ( 00 dans une cellule; FF dans une autre ....etc )

j''espère que c'est clair


Merci pour vos réponses

A.Essouabni
 
A

A_Binouze_Drinker_Among_Others

Guest
bonjour

moi j'y connais pas grand chose aux héxadécimaux, mais si tu tiens à faire cela, sélectionne ta ou tes cellules, puis utilise la commande Convertir du menu Données, en spécifiant une conversion "délimitée", puis tu choisis l'espace comme séparateur.

ciao
stephane
 
A

A_Binouze_Drinker_Among_Others

Guest
bonjour

pour info, voilà comment transformer les espaces ou autres caractères en valeur hexadécimale.

Replace spaces with %20 (hex)
Subj = Application.WorksheetFunction.Substitute(Subj, " ", "%20")
Msg = Application.WorksheetFunction.Substitute(Msg, " ", "%20")

' Replace carriage returns with %0D%0A (hex)
Msg = Application.WorksheetFunction.Substitute(Msg, vbCrLf, "%0D%0A")

c'est utile pour créer les commandes mailto


ciao
 
P

Pyrof

Guest
Bonjour,

Je ne réponds pas exactement à ta question
mais voici comment transformer de l'hexa en decimal (meme avecdes espaces)

=hex2dec(SUBSTITUE(LC(-2);" ";""))

On sait sait pas combien d'espace il y a dans ton hexa, il faudra autant de cellule que d'espace + 1 pour d'écomposer.

A plus
 
M

Mytå

Guest
Re bonsoir le Forum

Avec une macro une possibilité en A1 jusqu'a Axxx le texte en H1....x1 le format de sortit

Option Explicit
Sub hex_sur_cell()
Dim i As Double, j As Double
Dim valeur As String
For i = 1 To Range("a65535").End(xlUp).Row
valeur = Cells(i, 1)
For j = 1 To Len(valeur) Step 3
Cells(i, Int(j / 3) + 8).NumberFormat = "@"
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.MergeCells = False
End With
Cells(i, Int(j / 3) + 8) = Mid(valeur, j, 2)
Next j
Next i
End Sub

Esperant cela tu cherchais Essouabni

Mytå
 
P

Pyrof

Guest
Bonjour à nouveau

Je n'ai que peu de temps voici un début :

Sub essai()
x = "FF AA"
t = Split(x, " ")

For b = 0 To 1
MsgBox t(b)
Next b
End Sub


Il faut récupérer le nombre d'élément du tableau t ( comme je le dis plus haut, je n'ai pas de temps, si je retrouve cette commande je la donnerai)

A+
 

Discussions similaires

Réponses
3
Affichages
376
Réponses
2
Affichages
551

Statistiques des forums

Discussions
311 707
Messages
2 081 746
Membres
101 812
dernier inscrit
trufu