Bien le bonjour,
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, de choisir, de copier les valeurs dans mon fichier excel).
Je vais par exemple avoir la valeur 2e00 qui est interprété comme 2e+02 ce qui n'a rien à voir...
Je souhaiterais donc au moment de la copie des valeurs depuis mon fichier .txt être au format Text sans qu'il ne change.
En pièce jointe le fameux fichier texte.
Et ici ma macro :
[Résolu]
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, de choisir, de copier les valeurs dans mon fichier excel).
Je vais par exemple avoir la valeur 2e00 qui est interprété comme 2e+02 ce qui n'a rien à voir...
Je souhaiterais donc au moment de la copie des valeurs depuis mon fichier .txt être au format Text sans qu'il ne change.
En pièce jointe le fameux fichier texte.
Et ici ma macro :
Code:
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
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
.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
[Résolu]
Code:
Sub Ouvrir()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Workbooks.OpenText Filename:="C:\Users\Dylan\Desktop\Test\data.txt", _
DataType:=xlDelimited, Space:=True, FieldInfo:=Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 2), Array(5, 2), _
Array(6, 2), Array(7, 2), Array(8, 2))
Workbooks("data.txt").Worksheets("data").Range("A1:H1").EntireColumn.Copy _
Workbooks("TestPression2.xlsm").Worksheets("TestPression").Range("A3:H3").EntireColumn
Workbooks("data.txt").Close False
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
Dernière édition: