Lire un fichier txt ou équivalent avec vba

Lire un fichier txt ou équivalent avec vba - VB/VBA/VBS - Programmation

Marsh Posté le 06-10-2020 à 15:37:55    

Bonjour à tous,  
 
Je cherche un code pour lire un fichier txt qui contient des données séparées par des tabulations. C’est un simple tableau à une colonne que je souhaite avoir.  
 
J’ai fait pas mal de recherches sans trouver la solution,  
 
Mon tableau a vocation à contenir 6 millions de lignes.  
 
D’avance merci.

Reply

Marsh Posté le 06-10-2020 à 15:37:55   

Reply

Marsh Posté le 06-10-2020 à 16:21:01    

Je ne fais pas de VBA, mais si tu viens sur ce forum sans code ni message d'erreur explicite, personne ne fera le boulot à ta place...
 
Commence par regarder ces solutions :
https://www.google.com/search?q=vba [...] abul%C3%A9
ou
https://www.google.com/search?q=vba [...] +text+file
Si tu est suffisamment à l'aise en anglais.
 
Et si tu n'arrives pas faire fonctionner ces solutions, reviens nous le prouver avec du code et des erreurs et il y'aura surement quelqu'un pour t'aider a avancer.


---------------
D3
Reply

Marsh Posté le 06-10-2020 à 16:26:57    

Voici un code. Le problème c’est que ça ne me sépare rien. J’ai juste un tableau avec une ligne.  
 

Code :
  1. Sub a()
  2. Dim test() As Variant
  3. Dim fileName As String, textData As String, textRow As String, fileNo As Integer
  4. fileName = "C:\Fichier.txt"
  5. fileNo = FreeFile 'Get first free file number
  6. Dim i As Double
  7.     i = 1
  8. Open fileName For Input As #fileNo
  9. Do While Not EOF(fileNo)
  10.    Line Input #fileNo, textRow
  11.    textData = textData & textRow
  12.    Debug.Print textRow
  13.  
  14.    ReDim Preserve test(i)
  15.   test(i) = textRow
  16.    i = i + 1
  17.  
  18.  
  19.  
  20. Loop
  21. Close #fileNo
  22. MsgBox (test(1))
  23. MsgBox (i)
  24. End Sub

Reply

Marsh Posté le 07-10-2020 à 12:23:21    

jujuf1 a écrit :

Je cherche un code pour lire un fichier txt qui contient des données séparées par des tabulations. C’est un simple tableau à une colonne que je souhaite avoir.

jujuf1 a écrit :

Le problème c’est que ça ne me sépare rien. J’ai juste un tableau avec une ligne.


A priori, il n'y a qu'une ligne dans ton fichier.
Est-ce que tu voudrais que chaque donnée séparée par une tabulation soit sur une ligne différente ?
Le plus simple est alors de lire le contenu entier du fichier puis de le spliter sur Tab
Par exemple (non testé) :

Code :
  1. Sub a()
  2. Dim test As Variant
  3. Dim fileName As String
  4. Dim textData As String
  5. Dim fileNo As Integer
  6.   fileName = "C:\Fichier.txt"
  7.   fileNo = FreeFile 'Get first free file number
  8.   Open fileName For Binary Access Read As #fileNo
  9.   textData = Space$(LOF(n°F))
  10.   Get #fileNo, , textData
  11.   Close #fileNo
  12.   test = Split(textData, vbTab)
  13.   MsgBox test(LBound(test))
  14. End Sub


 
 
 


---------------
Cordialement, Patrice
Reply

Marsh Posté le 15-10-2020 à 10:00:28    

Salut, toujours consultable : Manipulation des fichiers en VBA https://warin.developpez.com/access/fichiers/

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed