Fct qui retourne une ligne d'un fichier txt

Résolu
cs_aminix9 Messages postés 96 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 9 février 2010 - 9 déc. 2004 à 17:50
cs_aminix9 Messages postés 96 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 9 février 2010 - 9 déc. 2004 à 23:10
salut
est c ke kelkin peut m aider , j ai besoin 'une fonction qui prend comme argument le chemin d'un fichier txt et un entier "n" et puis retourne la ligne n dans ce fichier txt

et merci!
aminix

8 réponses

ShareVB Messages postés 2676 Date d'inscription vendredi 28 juin 2002 Statut Membre Dernière intervention 13 janvier 2016 26
9 déc. 2004 à 18:35
salut

public function GetLine(strFile as string,dwLine as long) as string
dim x as long,trouv as boolean
dim num as integer
dim strtemp as string

num=freefile
open strfichier for input as #num

x = 0
trouv = false
do while (not eof(num)) and (trouv = false)
line input #num,,strtemp
x = x + 1
if x = dwLine then
GetLine = strtemp
trouv = true
end if
loop

close #num
end function

voilà

ShareVB
3
barley Messages postés 107 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 28 janvier 2010
9 déc. 2004 à 18:41
Private Sub form_load()
fichiersource = "c:\test.txt" 'exemple
compteur = 0
Open fichiersource For Input As #1 ' Ouvre le fichier source.
Do While Not EOF(1) ' Effectue la boucle jusqu'à la fin du fichier source.
If compteur = 3 Then 'on peut changer la valeur de la ligne n ici 3
msgbox textline
End If
Line Input #1, textline ' Lit la ligne dans la variable.
compteur = compteur + 1 'incremente le compteur
Loop

End Sub
3
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
9 déc. 2004 à 18:46
Bonjour

Private Function LigneN(Chemin As String, Num As Integer) As String
Dim NumFich As Integer, i As Integer, Ligne As String
NumFich = FreeFile
Open Chemin For Input As #NumFich
For i = 1 To Num
   Line Input #NumFich, Ligne
Next i
Close NumFich
LigneN = Ligne
End Function


'Appel par :

MsgBox LigneN(C:\MonDossier\MonFichier.txt", 5)


'Ajouter une gestion d'erreur au cas où on appelle la 5ème ligne d'un fichier qui a moins de 5 lignes.
3
barley Messages postés 107 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 28 janvier 2010
9 déc. 2004 à 19:22
Private Sub main()
Dim fichiersource, compteur, numfich, x
fichiersource = "c:\test.txt" 'exemple
compteur = 0 'initialisation compteur de lignes
x = 3 'exemple
numfich = FreeFile
Open fichiersource For Input As #numfich ' Ouvre le fichier source.
Do While (Not EOF(numfich)) And compteur <= x ' Effectue la boucle jusqu'à la xième ligne ou jusqu'à la fin du fichier
If compteur = x Then 'on peut changer la valeur de la ligne n ici 3
MsgBox textline 'affiche la xième ligne ou rien si on dépasse
End If
Line Input #numfich, textline ' Lit la ligne dans la variable.
compteur = compteur + 1 'incremente le compteur
Loop
Close #numfich
Text1 = textline
End Sub

en cumulant les idées, ca donne ca
parce qu'il y a aussi l'avantage avec la solution de rene38 de pas lire tout le fichier, ce qui est maintenant fait aussi ici...
et pas d'erreur possible
donc rapide et sans erreur possible

j'espère que je me plante pas, sinon, on va me lincher...lol

allez a plus
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
barley Messages postés 107 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 28 janvier 2010
9 déc. 2004 à 18:54
avec le code que j'ai posé, pas d'erreur possible, si le numero de ligne demandé dépasse le nombre de ligne de ton fichier, il ne renvoi rien
0
barley Messages postés 107 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 28 janvier 2010
9 déc. 2004 à 19:23
tu peux enlever le text1 = textline, c'etait pour voir jusqu'à quelle ligne il effectuait la recherche dans le fichier
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
9 déc. 2004 à 19:34
et si le fichier n'existe pas, ça plante le programme.
un simple On Error règle le problème, fichier absent ou dépassement de lecture

On Error GoTo ERROR
.................................
ERROR:
MsgBox "Erreur de Lecture"

Daniel
0
cs_aminix9 Messages postés 96 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 9 février 2010
9 déc. 2004 à 23:10
oh merci les amis vou m avé vraiment gaté !
je ne saurai koi faire sans vous!
merci bcp et à la prochaine
a+
aminix9
0
Rejoignez-nous