Modifier un fichier texte

gogofre Messages postés 2 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 29 juillet 2005 - 28 juil. 2005 à 13:45
gogofre Messages postés 2 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 29 juillet 2005 - 29 juil. 2005 à 13:10
Bonjour à tous,

Voila, j'ai un fichier texte qui se nomme "tasa_001_b_tasa_004.xls.tas" et qui se présente ainsi sous wordpad (c en fait un fichier csv):

DIES_CMT,1
93,
0,0
1.66667E-05,0.000525161
3.33333E-05,0.002330199
0.00005,0.003809711
6.66667E-05,0.00526853
8.33333E-05,0.007338104
0.0001,0.007811993
0.000116667,0.007361943
0.000133333,0.005087251
0.00015,0.004052343
0.000166667,0.004185216
0.000183333,0.001528363
0.0002,0
0.000216667,0

Il faudrait rajouter un espace apres la virgule sur la 1ere ligne et enlever la virgule de la deuxième. Cela donnerait:

DIES_CMT, 1
93
0,0
1.66667E-05,0.000525161
3.33333E-05,0.002330199
0.00005,0.003809711
6.66667E-05,0.00526853
8.33333E-05,0.007338104
0.0001,0.007811993
0.000116667,0.007361943
0.000133333,0.005087251
0.00015,0.004052343
0.000166667,0.004185216
0.000183333,0.001528363
0.0002,0
0.000216667,0

Est-ce que quelqu'un peut m'aider avec un script qui me ferait ca facilement.
Merci

2 réponses

mythic_kruger Messages postés 241 Date d'inscription jeudi 8 janvier 2004 Statut Membre Dernière intervention 10 novembre 2005
29 juil. 2005 à 09:23
Qu'est-ce que tu penses de ça (en 5 minutes)

Sur un formulaire mets 1 boutton, et 2 gros textbox avec propriété MultiLine sur true.



Option Explicit



Private Sub Command1_Click()

'Ouvre le fichier ligne par ligne et se sert d'un flag pour déterminer

's'il s'agit de la ligne 0, 1, ou une autre.

'Text1 affiche le fichier tel qu'il est

'Text2 affiche le texte après transformation




Dim flag As Byte, L As String, s As String



Open App.Path & "\1.txt" For Input As #1

Do Until EOF(1)

Line Input #1, L

Text1 = Text1 & L & vbCrLf

If flag = 0 Then


s = s & Replace(L, ",", ", ") & vbCrLf

flag = 1

Else

If flag = 1 Then


s = s & Replace(L, ",", "") & vbCrLf

Else


s = s & L & vbCrLf

End If

End If

Loop

Close #1



Text2 = Left(s, Len(s) - 2)



End Sub
0
gogofre Messages postés 2 Date d'inscription jeudi 23 janvier 2003 Statut Membre Dernière intervention 29 juillet 2005
29 juil. 2005 à 13:10
Merci bien,
C'est tres sympa, je vais essayer de me débrouiller avec ca.
0