Editer un fichier .dat avec visuel basic

slt tout le monde
j ai un fichier .dat qui contient 50 ligne de cette maniere:

ali 5 10 01/04/1982 2

mohamed 12 14 12 12/07/1982

samir 10 /04 /12/

chams 2 15 1982

et je veut extraire les ligne qui contient le nom "samir"et “mohamed” dans un autre fichier .dat nome "nom.dat " de façon automatique.en utilisant le vb
merci e a tous.
Edité le 19/05/2010 à 10:46

Qu’est-ce qui te pose problème ?
L’ouverture des fichiers ? La lecture ligne par ligne ? La détection du mot clé dans la ligne lue ?

slt et merci pour ta réponse
je suis débutant en programmation mon problème comment faire extraire des lignes d un fichier .dat et construire de manière automatique un autre fichier .dat qui contient ses ligne avec vb ou n importe quelle application et merci

Bonjour,

Peux tu changer le titre de ton message* pour quelque chose de plus explicite ? (dans le genre “Lire un fichier en visual basic”, etc)

Merci d’avance,

*Pour éditer ton message : http://www.clubic.com/forum/img/editer_on.gif

en vbscript en s’appuyant sur :
vb.developpez.com…
vb.developpez.com…
vb.developpez.com…
www.commentcamarche.net…

c’est assez facile même si je suis encore debutant

cela donnerait en melangeant cela:



Const ForReading = 1, ForWriting = 2 
Const Source = "i:\truc.dat"
Const Destination = "i:\dest.dat"
Dim oFso, f , w

'on fait une liste de noms a chercher 
Dim noms (1)  
noms(0) = "mohamed"
noms(1) = "samir"



' creation et/ou ouverture fichier 
Set oFso = CreateObject("Scripting.FileSystemObject")
Set w = oFso.OpenTextFile(Destination, ForWriting,true)   
Set f = oFso.OpenTextFile(Source, ForReading)   


' tant que pas à la fin de fichier source, lire ligne et 
' tester presence des mots de la liste, ecrire  ligne dans dest si trouve
while Not f.AtEndOfStream 
	ligne = f.ReadLine
		For Each x In noms
			If ( InStr(1, ligne, x) ) Then
				w.write ligne & vbCrLf
			End If
		Next     

Wend
f.Close
w.Close

tu copie ce texte dans le bloc note windows
tu modifie le fichier source et destination
et sauvegarde dans un fichier en extension .vbs
tu double clique sur le fichier vbs
Edité le 19/05/2010 à 17:32

Feunoir -->
Non, ce n’est pas ce qu’il a demandé
Il veut les lignes qui contiennent “samir” ET “mohamed”
toi, tu vas aussi extraire les lignes quand elles ne contiennent que l’un des deux noms

A la réflexion, sur le fond, c’est peut être toi qui a raison, mais là ce n’est plus de la programmation, c’est de la boule de cristal.

moezmoez -->
Si le VB n’est pas imposé, tu ne t’embêtes pas à écrire un programme.
Tu utilises la commande grep, elle est faite pour ça.
A la base, c’est une commande UNIX, mais si tu es sous windows (ce doit être le cas puisque tu parles de VB), tu trouveras sur internet plein de propositions pour télécharger l’exécutable grep.exe pour l’utiliser ensuite en batch ou directement en ligne de commande.

slt
merci a votre réponse gcc sa marche bien et toi feunior je vous remercie très bien pour mon probleme de clavier avec windows 95 j ai suivie tes démarche après quelque réglage de dos 6.22 et sa marche très bien merci a vous clubic et une solution très efficaces surtout avec ses informaticien