malhivertman1
Messages postés489Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention22 novembre 2007
-
19 janv. 2006 à 14:24
malhivertman1
Messages postés489Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention22 novembre 2007
-
19 janv. 2006 à 16:36
Bonjour
En fait, j'extrait mon fichier txt dans une variable appellé texte.
Je recherche le mot "LYON" et une fois que je l'ai trouvé, je voudrait que dans un variable, ne se mette que la ligne dans laquelle est "LYON", est-ce possible?
malhivertman1
Messages postés489Date d'inscriptionmardi 16 novembre 2004StatutMembreDernière intervention22 novembre 20071 19 janv. 2006 à 16:36
Je regarde vos messages que maintenant et finalement j'avais trouvé.
J'ai fais une fonction, on rentre le mot a rechercher et elle nous ressort la ligne entiere ou est le mot, donc exactement ce que je voulais mais merci qd même les gars
Private Function chercheLigne(mot As String) As String
'rechercher la ligne dans laquelle est contenu le "mot"
Dim texte As String
Open App.Path + "\text.txt" For Input As 1#
Dim arret As Boolean
arret = False
While Not (EOF(1) Or arret)
Input #1, texte
If InStr(texte, mot) <> 0 Then
arret = True
End If
Wend
Close #1
chercheLigne = texte
End Function
++
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 19 janv. 2006 à 15:09
Dim buffer as string, FN as long
Dim idxMot as long, Mot as string
dim i as long, j as long
Mot = "LYON" ' Mot à rechercher
FN = Freefile ' 1er N° de fichier dispo
Open "c:\fic.txt" For input as #FN ' Ouverture du fichier en lecture
buffer = vbCRLF & input(Lof(FN), #FN) & vbCRLF ' Lecture du fichier
Close #FN ' Fermeture du fichier
idxmot = instr(buffer,mot) ' Recherche du mot
if idxmot <>0 then ' Si le mot est bien dans le fichier
i = instrrev(buffer,vbLF,idxmot)+2 ' Recherche le saut de ligne qui précède le mot
j = instr(idxmot,buffer,vbCR) ' Recherche le retour chariot qui suit le mot
MsgBox(Mid$(buffer,i+1,j-i) ' Extrait la ligne entre ces deux index
Else
MsgBox Mot & " n'est aps dans le fichier"
end if
Cela devrait fonctionner normalement (pas de VB sous la main pour tester)
CR
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_etniqs
Messages postés201Date d'inscriptionmardi 7 octobre 2003StatutMembreDernière intervention10 mai 2016 19 janv. 2006 à 16:01
yep, j'ai essayé ce qu'il n'aime pas c'est le format du numéro de fichier dans le input (1,maligne) (à l'erreur de tout à l'heure prés
:-(((
Open "c:\essai.txt" For Input As #1
While Not EOF(erferf)
Input 1, maligne
If InStr(1, Input(erferf, maligne), "r") > 1 Then MsgBox (maligne)
donc (et j'ai vérifié c'kou si !!) :
Open "c:\essai.txt" For Input As #1
While Not EOF(1)
Input #1, maligne
If InStr(1, maligne, "toto") > 0 Then MsgBox (maligne)
Wend
Close #1