Nombre de ligne d'un fichier texte

Soyez le premier à donner votre avis sur cette source.

Vue 13 778 fois - Téléchargée 430 fois

Description

Le code de Nix ne comptait pas les lignes, il affichait la dernière ligne. Voici donc la version corrigée du code.
C'est une fonction contenant un argument: l'emplacement du fichier.
Vous pouver placer ce code dans une form contenant un boutton de commande.

Source / Exemple :


Public Function CompteLigne(CheminFichier As String) As Integer

Dim Texte As String 'Contient la ligne en cours
Dim NbLignes As Integer 'le nombre de lignes

On Error GoTo Annuler 'pour traiter(sommairement) 
'les erreurs

Open CheminFichier For Input As #1

While Not EOF(1)
Line Input #1, Texte
NbLignes = NbLignes + 1
Wend

Close #1

CompteLigne = NbLignes

Annuler:

End Function

Private Sub Command1_Click()
Dim Lignes as Integer

Lignes = CompteLigne("c:\autoexec.bat")
MsgBox "Nb de ligne: " & Lignes

End sub

Conclusion :


Voilà. Dans le zip il y a le code expliqué à fond de cet exemple prêt à l'utilisation, sauf que la fonction ne fait pas que compter les lignes, elle stocke chaque ligne du fichier dans un tableau pour afficher n'importe quelle ligne en indiquant son numéro.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

IL y a bcp plus simple pourcompter les lignes dans un fichier texte. Il faut un Label (ou autre) et un boutton.


Dim a
Private Sub Command1_click()
Dim LFile as long 'Lecture
Dim OFile as String 'Fichier à ouvrir
Dim Ligne as String 'Ligne
OFile = "C:Autoexec.bat"
LFile = FreeFile
Open OFile For Input as #LFIle
Do 'début de boucle
Input #LFile, Ligne
a = a + 1 'ajoute 1 à chaque ligne lu
Loop Until EOF(LFile)
Label1.Caption = a
End Sub

Si tu veux un message en te disant le nbr de ligne à la place de Label1.caption = a
tu met

MsgBox ("Il y a " & a & " lignes")
Fwdavy
Messages postés
57
Date d'inscription
lundi 27 septembre 2004
Statut
Membre
Dernière intervention
8 novembre 2007
-
4 ans plus tard....

J'ai testé les deux version :
- celle de gui donne -16731
- celle de death donne 1

Bizard car le fichier en contient 48805 ??

Soit VB c'est de la merde, soit vous etes des tocars, soit c'est powerbasic que je dois jeter....a moin que cette source soit obsolette lol
Fwdavy
Messages postés
57
Date d'inscription
lundi 27 septembre 2004
Statut
Membre
Dernière intervention
8 novembre 2007
-
scuse les deux codes donne -16731.....mais bon c'est pas non plus 48805
Fwdavy
Messages postés
57
Date d'inscription
lundi 27 septembre 2004
Statut
Membre
Dernière intervention
8 novembre 2007
-
en faite j'ai remarqué ca arrete de compter a 32767 ?! et pourtant ca continue car sa lie ma dernier ligne.......
Fadilos
Messages postés
3
Date d'inscription
jeudi 9 novembre 2000
Statut
Membre
Dernière intervention
23 février 2005
-
Salut
il faut savoir que utiliser un INTEGER c'est limiter a 32767 d'ou ton programme depasse cette limite et compte a travers....

un peu de calcul 32767+16731==49498 >> avec un peu de jeu libre ca coincide avec votre fichier

Merci gUI pour ton Prog....

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.