Bonjour à tous,
J'essaye de lire le contenu d'un fichier txt, contenant sur chaque ligne un entier puis 3 nombres décimaux (séparés par des espaces).
Mon fichier étant volumineux, et devant effectuer cette opération de manière itérative sur un nombre important de fichiers, la lecture via un ''Line Input'' n'est pas satisfaisante car trop longue.
Il me semble que la fonction GET doit me permettre de gagner du temps, mais je ne m'en sors pas.
Exemple de contenu de mon fichier tx
34 40.59 73.761 2.459
2 8.152 62.882 96.928
80 68.23 41.556 50.657
12 38.757 67.338 59.588
44 65.372 96.198 84.0
Mon début de macro sur lequel je sèche :
Type Custo
ID As Integer
X_ As Double
Y_ As Double
Z_ As Double
End Type
Sub ExempleLectureFichierTexte()
Dim ContenuFichier As Custo
Dim MonFichier As String
Dim IndexFichier As Integer
MonFichier = "C:\DONNEES\temp\test.txt"
IndexFichier = FreeFile()
Open MonFichier For Random As #IndexFichier
Get #IndexFichier, , ContenuFichier
Close #IndexFichier
MsgBox ContenuFichier.ID & " " & ContenuFichier.X_ & " " & ContenuFichier.Y_ & " " & ContenuFichier.Z_
End Sub
Mes interrogations :
- Cette macro me renvoie une donnée farfelue, dont je ne trouve pas le lien avec le fichier txt de départ.
- Je pense qu'avec ce que je réalise, je ne stocke pas les données dans ce qui ressemble à un tableau dont le nombre de ligne est égale au nombre de ligne du fichier txt.
Une fois que j'aurai franchi cette étape, j'aurai besoin de traiter et compléter ces données , puis de le renvoyer dans le fichier de départ, mais chaque chose en son temps.
Merci d'avance pour vos retours.