Bonjour à tous,

Il m'est demandé pour mon stage de traiter des données Hexadécimales d'un fichier texte avec Excel.
Il faut pour cela que ce soit le plus user-friendly, malheureusement je n'arrive pas à bien récupérer les valeurs de mon fichier texte au format Text à l'aide de macro (en ouvrant le fichier depuis excel il est facile de choisir le format de chaque colonne, mais c'est trop long d'ouvrir un nouveau excel, de choisir le format, de copier les valeurs dans mon fichier excel).

Je vais par exemple avoir la valeur 2e00 (hexadecimale) qui est interprété comme 2e+02 ce qui n'a rien à voir... et qui fausse mon graphique.
Je souhaiterais donc au moment de la copie des valeurs depuis mon fichier .txt être au format Text sans qu'il ne change.

Je n'arrive pas à mettre le fichier texte en pièce jointe donc voici deux lignes posant problème tirées du fichier texte :
1f03 1e03 1f03 1f03 1e03 1f03 1e03 1e03
0103 0103 0103 0103 0303 0103 0003 0303
Cette ligne par exemple ne pose aucun problème : 9f02 9f02 9f02 9f02 9f02 9f02 9f02 9f02

Et ici ma macro :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Sub Copie()
 
Dim Fichier
 
Fichier = Application.GetOpenFilename("Text Files (*.txt), *.txt")
Worksheets("TestPression").Range("A3:H3").EntireColumn.ClearContents
Worksheets("TestPression").Range("A3:H3").EntireColumn.NumberFormat = "@" 'Je pensais que ça marcherait en mettant toutes les cellules au format text
Cells(1, 1).Value = "Valeurs copiées du fichier .txt"
 
If Fichier <> False Then
 
With Worksheets("TestPression").QueryTables.Add("TEXT;" & Fichier, [A3])
'.NumberFormat = "@" Je pensais que ça marcherait aussi mais non
.Refresh
.FieldNames = True
.PreserveFormatting = True
.SaveData = True
.AdjustColumnWidth = True
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileSemicolonDelimiter = True
.Refresh BackgroundQuery:=False
End With
 
Else
MsgBox "Il faut choisir un fichier texte"
End If
End Sub