jmkkkk
Messages postés3Date d'inscriptionvendredi 10 décembre 2004StatutMembreDernière intervention 5 juillet 2005
-
30 juin 2005 à 14:09
jmkkkk
Messages postés3Date d'inscriptionvendredi 10 décembre 2004StatutMembreDernière intervention 5 juillet 2005
-
4 juil. 2005 à 17:38
Ja'i un fichier qui se nomme Original.YXZ qui contient les données suivantes :
757 0
15 554883.350
172077.110
732 0
15 554869.670
172055.440
731 0
15 554925.370
172030.480
38 0
15 554840.360
172026.830
281 0
15 554902.690
172118.240
8000 0 15
554896.219
172045.187
8001 0 15
554915.710
172075.013
8002 0 15
554936.495
172061.432
8003 0 15
554935.969
172055.982
8004 0 15
554938.773
172054.149
8005 0 15
554924.805
172032.377
287 0 15 554978.740 172119.710 526.070
30 0 15 554951.170 172161.710 524.510
et j'aimerai qu'il devienne comme ceci dans un fichier Destination.go7:
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 30 juin 2005 à 14:25
Dim L as string, i as long, j As Long, Buffer as String
Dim F1 as long, F2 as Long
F1 = freefile
Open "Original.xyz" for input as #F1
F2 = Freefile
Open "Destination.go7" for output as #F2
While not eof(F1) ' Tant qu'on est pas a la fin du ficheir source
Line Input #F1, L ' On lit une ligne
L = L & " " ' On ajoute un espace en fin de ligne pour simplifier la seconde boucle While
i = Instr(L,"0 15") ' On repère la chaine "0 15"
Buffer = Left$(L,i-2) ' On extrait ce qui se trouve à gauche
L = Mid$(L,i + 5) ' On ne garde que la fin de la ligne
j = Instr(L," ") ' On cherche le 1er espace
While j <> 0 ' Si on a un espace dans la ligne
Buffer = Buffer & ", " & Left$(L,j-1) ' On ajoute se qui se trouve devant
L = Mid$(L,j+1) ' On ne garde que ce qui suit l'espace
j = Instr(L," ") ' On recherche l'espace suivant
Wend
Print #F2, Buffer ' On écrit le buffer
Wend
Close ' On ferme les deux fichiers
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 30 juin 2005 à 14:46
Et nouvelle version du mien ...
Dim L as string, F1 as long, F2 as Long
F1 = freefile
Open "Original.xyz" for input as #F1
F2 = Freefile
Open "Destination.go7" for output as #F2
While not eof(F1)
Line Input #F1, L
Print #F2, Replace$(Replace$(L," 0 15 "," "),", ")
Wend
Close
Bien plus simple et surement bien plus rapide ....
Christophe
Vous n’avez pas trouvé la réponse que vous recherchez ?
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 30 juin 2005 à 21:53
Econs < Etrangement, c'est en voyant ton Split() que j'ai eu l'idée de faire un double Replace() !! Me demande pas pourquoi, je dois avoir l'esprit très tordu !!!