cs_BUCK
Messages postés4Date d'inscriptiondimanche 22 septembre 2002StatutMembreDernière intervention15 février 2009
-
8 mars 2005 à 00:13
cs_BUCK
Messages postés4Date d'inscriptiondimanche 22 septembre 2002StatutMembreDernière intervention15 février 2009
-
8 mars 2005 à 10:33
Bonsoir,
Je sèche totalement, étant novice en VB
j'ai 2 fichiers textes qui n'ont pas le même nombre de lignes.
un global et l'autre erreur
je souhaiterai supprimer les lignes erreur du global en créant un 3eme fichier
j'ai fait un bout de code mais pas très performant car je ferme le fichier a chaque boucle.
je pense qu'il ya moyen de faire beaucoup mieux
Private Sub Command1_Click()
Path = "c:\users"
fichieradr = "adrmail.txt"
fichiererr = "errmail.txt"
fichierfinal = "adrmai1.txt"
fichadr = Path & fichieradr
ficherr = Path & fichiererr
fichfinal = Path & fichierfinal
Top = 0
Open fichadr For Input As #1
Open ficherr For Input As #2
Open fichfinal For Output As #3
Do While Not EOF(1)
Line Input #1, adresses
Do While Not EOF(2)
Top = 0
Line Input #2, erreur
If erreur = adresses Then
Top = 1
Exit Do
End If
Loop
If Top = 0 Then
Print #3, adresses
End If
Close #2
Open ficherr For Input As #2
Loop
Close #1
Close #2
Close #3
End Sub
Merci par avance et continuez vos réponses nous sont très utiles
BUCK60
cqui789
Messages postés261Date d'inscriptionjeudi 13 janvier 2005StatutMembreDernière intervention18 mai 20093 8 mars 2005 à 00:44
isi les 2 fichiers sont toutjours classes dans le meme ordre, tu pourrait effectivement faire mieux.
si tes fichier ne sont pas dans le meme ordre, la seule amelioration
que je vois serait d'enregistrer le plus petit fichier dans un tableau
avant la boucle principale.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 8 mars 2005 à 09:24
Bonjour,
comme dit cqi789, si toutes les lignes
de erreur sont dans le gobal et dans le
même ordre...
Dim luerr As String, lubon As String
Do While Not EOF(2)
Line Input #2, luerr
Do While Not EOF(1)
Line Input #1, lubon
If lubon = luerr Then Exit Do
Print #3, lubon
Wend
Wend
Close #1, #2, #3
pas testé, ça ne doit pas être loin. Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
cs_BUCK
Messages postés4Date d'inscriptiondimanche 22 septembre 2002StatutMembreDernière intervention15 février 2009 8 mars 2005 à 10:33
Tout d'abord pour vos reponses
les fichiers ne sont pas classés dans le même ordre.
je veux justement épurer fichadr des lignes contenu dans ficherr.
pour info dans fichadr il y a 5400 lignes et ficherr 1400.
il est vrai que le meilleur moyen est de mettre le contenu d'un des deux dans un tableau.
Et c'est la que je sollicite votre aide car mes essais ne sont pas concluant.
cordialement