Macro nb lignes fichiers txt

Le
Vincent_C
bonjour,

je cherche à compter le nombre de lignes présentes dans un fichier .txt à
l'aide d'une macro VBA. Voici le code que j'ai trouvé qui fonctionne
correctement pour des fichiers allant jusqu'à env. 5Mo, mais lorsque cela
dépasse il y a 1 message indiquant un manque de mémoire. Pouvez vous s'il
vous plait m'indiquer un autre code (le fichier que j'ai testé fait 150 Mo)?
D'avance merci de votre aide.
Bien cordialement,
Vincent_C

Sub CountNbLines()

Dim strArray() As String
Dim strFile As String
Dim iFileNo As Integer

iFileNo = FreeFile

Open "C:YourFile.Txt" For Binary As iFileNo
strFile = Space(LOF(iFileNo)) ' Set File Buffer Size
Get iFileNo, , strFile ' Load the text
Close iFileNo

strArray = Split(strFile, vbNewLine) ' The array now holds the entire file,
one line per element.
strFile = ""

MsgBox "The Number of Lines is: " & CStr(UBound(strArray) - LBound(strArray)
+ 1)

End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #5328001
Bonjour.
Essaie :
Sub CountNbLines()

Dim strArray() As String
Dim strFile As String
Dim iFileNo As Integer
Dim Enrgt As String
Dim Ctr

iFileNo = FreeFile

Open "C:YourFile.Txt" For Input As iFileNo
Do While Not EOF(eofile)
Line Input #iFileNo, Enrgt ' Load the text
Ctr = Ctr + 1
Loop
Close iFileNo
MsgBox "The Number of Lines is: " & Ctr

End Sub

Cordialement.
Daniel
"Vincent_C" news:
bonjour,

je cherche à compter le nombre de lignes présentes dans un fichier .txt à
l'aide d'une macro VBA. Voici le code que j'ai trouvé qui fonctionne
correctement pour des fichiers allant jusqu'à env. 5Mo, mais lorsque cela
dépasse il y a 1 message indiquant un manque de mémoire. Pouvez vous s'il
vous plait m'indiquer un autre code (le fichier que j'ai testé fait 150
Mo)?
D'avance merci de votre aide.
Bien cordialement,
Vincent_C

Sub CountNbLines()

Dim strArray() As String
Dim strFile As String
Dim iFileNo As Integer

iFileNo = FreeFile

Open "C:YourFile.Txt" For Binary As iFileNo
strFile = Space(LOF(iFileNo)) ' Set File Buffer Size
Get iFileNo, , strFile ' Load the text
Close iFileNo

strArray = Split(strFile, vbNewLine) ' The array now holds the entire
file,
one line per element.
strFile = ""

MsgBox "The Number of Lines is: " & CStr(UBound(strArray) -
LBound(strArray)
+ 1)

End Sub


FdeCourt
Le #5327981
Bonsoir,

Voici une petite macro qui va compter le nombre de ligne d'un fichier
texte :

Sub GrosFichierCSV()
Dim NbL As Long
Open "D:FICHIERTEXTE.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, Ligne
NbL = NbL + 1
Loop
Close #1
MsgBox "The Number of Lines is " & NbL
End Sub

On 26 mar, 17:03, Vincent_C wrote:
bonjour,

je cherche à compter le nombre de lignes présentes dans un fichier .tx t à
l'aide d'une macro VBA. Voici le code que j'ai trouvé qui fonctionne
correctement pour des fichiers allant jusqu'à env. 5Mo, mais lorsque cel a
dépasse il y a 1 message indiquant un manque de mémoire. Pouvez vous s 'il
vous plait m'indiquer un autre code (le fichier que j'ai testé fait 150 Mo)?
D'avance merci de votre aide.
Bien cordialement,
Vincent_C

Sub CountNbLines()

Dim strArray() As String
Dim strFile As String
Dim iFileNo As Integer

iFileNo = FreeFile

Open "C:YourFile.Txt" For Binary As iFileNo
  strFile = Space(LOF(iFileNo))  ' Set File Buffer Size
  Get iFileNo, , strFile ' Load the text
Close iFileNo

strArray = Split(strFile, vbNewLine) ' The array now holds the entire fi le,
one line per element.
strFile = ""

MsgBox "The Number of Lines is: " & CStr(UBound(strArray) - LBound(strArra y)
+ 1)

End Sub


Vincent_C
Le #5327901
Bonsoir. Merci à tous les 2. j'ai essayé les 2 macros, et celle qui
fonctionne bien sous Excel 2003 est la deuxième. Sans vouloir abuser de votre
gentillesse, pourriez vous s'il vous plait insérer un code qui permettrait de
déclancher la macro après sélection d'un fichier .txt ou .csv (quelquesoit
son nom et son emplacement) ?

Merci de nouveau à vous.
Bien cordialement, Vincent_C


Bonsoir,

Voici une petite macro qui va compter le nombre de ligne d'un fichier
texte :

Sub GrosFichierCSV()
Dim NbL As Long
Open "D:FICHIERTEXTE.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, Ligne
NbL = NbL + 1
Loop
Close #1
MsgBox "The Number of Lines is " & NbL
End Sub

On 26 mar, 17:03, Vincent_C wrote:
bonjour,

je cherche à compter le nombre de lignes présentes dans un fichier .txt à
l'aide d'une macro VBA. Voici le code que j'ai trouvé qui fonctionne
correctement pour des fichiers allant jusqu'à env. 5Mo, mais lorsque cela
dépasse il y a 1 message indiquant un manque de mémoire. Pouvez vous s'il
vous plait m'indiquer un autre code (le fichier que j'ai testé fait 150 Mo)?
D'avance merci de votre aide.
Bien cordialement,
Vincent_C

Sub CountNbLines()

Dim strArray() As String
Dim strFile As String
Dim iFileNo As Integer

iFileNo = FreeFile

Open "C:YourFile.Txt" For Binary As iFileNo
strFile = Space(LOF(iFileNo)) ' Set File Buffer Size
Get iFileNo, , strFile ' Load the text
Close iFileNo

strArray = Split(strFile, vbNewLine) ' The array now holds the entire file,
one line per element.
strFile = ""

MsgBox "The Number of Lines is: " & CStr(UBound(strArray) - LBound(strArray)
+ 1)

End Sub






Daniel.C
Le #5327841
Sub test2()
Dim Fich As String
Dim NbL As Long
Fich = Application.GetOpenFilename("Text Files (*.csv;*.txt),
*.csv;*.txt")
Open Fich For Input As #1
Do While Not EOF(1)
Line Input #1, Ligne
NbL = NbL + 1
Loop
Close #1
MsgBox "The Number of Lines is " & NbL
End Sub

Daniel
"Vincent_C" news:
Bonsoir. Merci à tous les 2. j'ai essayé les 2 macros, et celle qui
fonctionne bien sous Excel 2003 est la deuxième. Sans vouloir abuser de
votre
gentillesse, pourriez vous s'il vous plait insérer un code qui permettrait
de
déclancher la macro après sélection d'un fichier .txt ou .csv (quelquesoit
son nom et son emplacement) ?

Merci de nouveau à vous.
Bien cordialement, Vincent_C


Bonsoir,

Voici une petite macro qui va compter le nombre de ligne d'un fichier
texte :

Sub GrosFichierCSV()
Dim NbL As Long
Open "D:FICHIERTEXTE.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, Ligne
NbL = NbL + 1
Loop
Close #1
MsgBox "The Number of Lines is " & NbL
End Sub

On 26 mar, 17:03, Vincent_C wrote:
bonjour,

je cherche à compter le nombre de lignes présentes dans un fichier .txt
à
l'aide d'une macro VBA. Voici le code que j'ai trouvé qui fonctionne
correctement pour des fichiers allant jusqu'à env. 5Mo, mais lorsque
cela
dépasse il y a 1 message indiquant un manque de mémoire. Pouvez vous
s'il
vous plait m'indiquer un autre code (le fichier que j'ai testé fait 150
Mo)?
D'avance merci de votre aide.
Bien cordialement,
Vincent_C

Sub CountNbLines()

Dim strArray() As String
Dim strFile As String
Dim iFileNo As Integer

iFileNo = FreeFile

Open "C:YourFile.Txt" For Binary As iFileNo
strFile = Space(LOF(iFileNo)) ' Set File Buffer Size
Get iFileNo, , strFile ' Load the text
Close iFileNo

strArray = Split(strFile, vbNewLine) ' The array now holds the entire
file,
one line per element.
strFile = ""

MsgBox "The Number of Lines is: " & CStr(UBound(strArray) -
LBound(strArray)
+ 1)

End Sub








Vincent_C
Le #5327791
Génial super ! Merci beaucoup à tous.

Bien cordialement,

Vincent_C


Sub test2()
Dim Fich As String
Dim NbL As Long
Fich = Application.GetOpenFilename("Text Files (*.csv;*.txt),
*.csv;*.txt")
Open Fich For Input As #1
Do While Not EOF(1)
Line Input #1, Ligne
NbL = NbL + 1
Loop
Close #1
MsgBox "The Number of Lines is " & NbL
End Sub

Daniel
"Vincent_C" news:
Bonsoir. Merci à tous les 2. j'ai essayé les 2 macros, et celle qui
fonctionne bien sous Excel 2003 est la deuxième. Sans vouloir abuser de
votre
gentillesse, pourriez vous s'il vous plait insérer un code qui permettrait
de
déclancher la macro après sélection d'un fichier .txt ou .csv (quelquesoit
son nom et son emplacement) ?

Merci de nouveau à vous.
Bien cordialement, Vincent_C


Bonsoir,

Voici une petite macro qui va compter le nombre de ligne d'un fichier
texte :

Sub GrosFichierCSV()
Dim NbL As Long
Open "D:FICHIERTEXTE.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, Ligne
NbL = NbL + 1
Loop
Close #1
MsgBox "The Number of Lines is " & NbL
End Sub

On 26 mar, 17:03, Vincent_C wrote:
bonjour,

je cherche à compter le nombre de lignes présentes dans un fichier .txt
à
l'aide d'une macro VBA. Voici le code que j'ai trouvé qui fonctionne
correctement pour des fichiers allant jusqu'à env. 5Mo, mais lorsque
cela
dépasse il y a 1 message indiquant un manque de mémoire. Pouvez vous
s'il
vous plait m'indiquer un autre code (le fichier que j'ai testé fait 150
Mo)?
D'avance merci de votre aide.
Bien cordialement,
Vincent_C

Sub CountNbLines()

Dim strArray() As String
Dim strFile As String
Dim iFileNo As Integer

iFileNo = FreeFile

Open "C:YourFile.Txt" For Binary As iFileNo
strFile = Space(LOF(iFileNo)) ' Set File Buffer Size
Get iFileNo, , strFile ' Load the text
Close iFileNo

strArray = Split(strFile, vbNewLine) ' The array now holds the entire
file,
one line per element.
strFile = ""

MsgBox "The Number of Lines is: " & CStr(UBound(strArray) -
LBound(strArray)
+ 1)

End Sub













Michel Angelosanto
Le #5325971
Juste un petit conseil:
puisqu'il s'agit de gros fichiers, autant que le comptage soit le plus
rapide possible et c'est possible en mettant la boucle sur la même ligne
comme ceci:

Do While Not EOF(1): Line Input #1, Ligne: NbL = NbL + 1: Loop

Bon week end à tous.

Michel Angelosanto, Bordeaux
http://angelosa.free.fr/
JB
Le #5325921
Bonjour,

Le temps d'exécution est le même.

JB
On 29 mar, 10:13, "Michel Angelosanto"
Juste un petit conseil:
puisqu'il s'agit de gros fichiers, autant que le comptage soit le plus
rapide possible et c'est possible en mettant la boucle sur la même ligne
comme ceci:

 Do While Not EOF(1): Line Input #1, Ligne: NbL = NbL + 1: Loop

Bon week end à tous.

Michel Angelosanto, Bordeauxhttp://angelosa.free.fr/


Dan67
Le #6713831
Sous Office 2007 macro Word : EOF provoque systématiquement une erreur de
compilation : nombre d'arguments incorrect ou affectation de propriété
incorrecte !


Bonjour,

Le temps d'exécution est le même.

JB
On 29 mar, 10:13, "Michel Angelosanto"
Juste un petit conseil:
puisqu'il s'agit de gros fichiers, autant que le comptage soit le plus
rapide possible et c'est possible en mettant la boucle sur la même ligne
comme ceci:

Do While Not EOF(1): Line Input #1, Ligne: NbL = NbL + 1: Loop

Bon week end à tous.

Michel Angelosanto, Bordeauxhttp://angelosa.free.fr/






Publicité
Poster une réponse
Anonyme