Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1588 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Lire un fichier txt ou équivalent avec vba

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Lire un fichier txt ou équivalent avec vba

n°2363899
jujuf1
Je suis un chat
Posté le 06-10-2020 à 15:37:55  profilanswer
 

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.

mood
Publicité
Posté le 06-10-2020 à 15:37:55  profilanswer
 

n°2363904
mechkurt
Posté le 06-10-2020 à 16:21:01  profilanswer
 

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
n°2363905
jujuf1
Je suis un chat
Posté le 06-10-2020 à 16:26:57  profilanswer
 

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

n°2363969
patrice337​40
Avec la réponse, c'est facile.
Posté le 07-10-2020 à 12:23:21  profilanswer
 

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
n°2364661
kiki29
Posté le 15-10-2020 à 10:00:28  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Lire un fichier txt ou équivalent avec vba

 

Sujets relatifs
Exporter fichier .rtf en php et ouverture avec libreoffice writerOuvrir fichier .odb avec Python
Récupérer date de déplacement d'un fichier[VBA] UPnP : « Lire sur l’appareil » : comment pousser un fichier?
ouverture de fichier en python 3 : erreur[POWERSHELL]Creation fichier ps1
Recuperation des données d'un fichier textePython Request et Android HttpURLConnection équivalent
Macro copie vers un autre fichier 
Plus de sujets relatifs à : Lire un fichier txt ou équivalent avec vba


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR