Récupèrer le nombre d'enregistrements d'un fichier texte

RENAUDER

Nous a quitté
Repose en paix
Bonjour,
J'ai fait un programme pour backtester un fichier historique de cours de bourse (env. 100.000.000 lignes).
Je dois récupérer le nombre de lignes pour l'utiliser ensuite dans une variable.
J'ai utilisé le code suivant qui fonctionne mais peut-être quelqu'un a un code qui serait plus optimisé donc plus rapide que le mien
Code:
Sub Test()
    Const ForReading = 1, ForWriting = 2, ForAppending = 8
    Dim fso, f
    Dim DocLigne() As String
    Dim Ligne, X As Integer
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.OpenTextFile("C:\Excel\VWAP.txt", ForAppending, False)
    A = f.Line - 1
    f.Close
    Set fso = Nothing
End Sub
 

tototiti2008

XLDnaute Barbatruc
Re : Récupèrer le nombre d'enregistrements d'un fichier texte

Bonjour Renauder,

J'ai pas mieux. moi j'avais fait une boucle sur chaque ligne jusquà la fin...
Je note ton code, ça pourra toujours servir...
Je suppose que tu aurais aimé connaître le nombre de lignes sans ouvrir le fichier ?
 
T

THE CAT 2007

Guest
Re : Récupèrer le nombre d'enregistrements d'un fichier texte

Bonjour,

une idée, voir si çà tient la route, si les lignes ont toutes le même nombre d'octets :

Sub AfficherInfoFichier()
tailleDuneLigne= x octets
Dim fs, f, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile("c:\fichier texte.txt")
s = f.Size

nbLignes=int(s/tailleDuneLigne)
End Sub
 

Discussions similaires

Réponses
8
Affichages
678

Statistiques des forums

Discussions
312 388
Messages
2 087 864
Membres
103 672
dernier inscrit
ammarhouichi