Rechercher une chaine de caractère dans un fichier texte... [Résolu]

cs_Luuna 8 Messages postés samedi 22 mars 2003Date d'inscription 15 juillet 2004 Dernière intervention - 10 juil. 2003 à 20:31 - Dernière réponse : cs_menix 3 Messages postés dimanche 13 juillet 2003Date d'inscription 14 juillet 2003 Dernière intervention
- 13 juil. 2003 à 15:52
Je cherche à convertir un fichier texte en table Access par l'intermédiaire de VB6...

Voici le code dont je me sert tiré d'un livre :
------------------------------------------------
Dim S As String
'j'ouvre le fichier en lecture
Open "D:\AAA.txt" For Input As #1
'j'ouvre le fichier en ajout
Open "D:\BBB.txt" For Append As #2
'tant que la fin du fichier n'est pas atteinte
Do While Not EOF(1)
'lit la ligne et passe à la suivante
Line Input #1, S
'si les 2 premiers caractères ne sont pas "SR" ou "NI"If (Left(S, 3) "SRV" Or Left(S, 3) "NI4") Then
Print #2, S
End If
'revient à la boucle
Loop
'ferme les fichiers
Close #1
Close #2
--------------------------------------------------

mais à la place de rechercher 2 caractères je voudrais rechercher un chaine de caractère hors je ne trouve pas de fonction ou de code le permettant.

Ça serait cool si quelqu'un avait une solution car j'en ai besoin assez vite ... :( c'est pour mon stage !

Merci
@+
Luun@
Afficher la suite 

2 réponses

Meilleure réponse
cs_menix 3 Messages postés dimanche 13 juillet 2003Date d'inscription 14 juillet 2003 Dernière intervention - 13 juil. 2003 à 15:52
3
Merci
Les lignes de codes sont de format basic standard et non VB6
essaye la fonction (INSTR) qui recherche une chaine dans une autre chaine.

Merci cs_menix 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

nhervagault 6069 Messages postés dimanche 13 avril 2003Date d'inscription 15 juillet 2011 Dernière intervention - 10 juil. 2003 à 22:08
0
Merci
Utilise les expression regurliere et tu y arriveras peut etre

Private Sub Form_Load()
Dim reg As New RegExp
Dim strTest As String
Dim regPattern As String
Dim Matches As MatchCollection
Dim mtch As Match

Dim blnFound As Boolean

strTest = "A1234B4567"
regPattern = "B\d+$"

With reg
.Pattern = regPattern
MsgBox .Test(strTest)
Set Matches = .Execute(strTest)

For Each mtch In Matches
MsgBox mtch.Value
Next mtch
End With
Set reg = Nothing

End Sub

Il faut bien sur ajouter la refernce à vbscript regexp

Pour ajouter les données
utilise ADO
et pour lire les fichier je prefere filesystemobject
---> plus clair a utiliser que les #1 ...

Utilise les refernce microsoft scripting runtime
et microsoft activex data object 2.7 ... (? en fonction de ce que tu as sur ta machine)

Dim fso as new filesystemobject
Dim ts as textstream
Set ts = fso.opentextfile("c:\.....") 'option for reading si tu veux

while not ts.eofodstream
ligne = ts.readligne()
---> tu traites la ligne avec les regexp comme ci dessus
wend
ts.close

------------------------ADO

Dim conn as new adodb.connection
Dim com as new adodb.command

strconn = "chaine de connection access"
conn.open strconn
com.activeconnection = conn
strsql = "insert ............................."
com.commandtext = strsql
com.execute
conn.close

voila j'esperes que ca t'aider il reste a tout mettre ensuite pour que ca marche et a trouver les bonne expression reguliere
cf. Internet MSDN ou des cours de perl ....

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.