Fichier Plat à restructurer en visual basic 2005
Salut les gars,
Je cherche à restructurer un fichier plat .txt
Fichier plat d'origine :
Citation:
Notification de résolution d'incident
Numéro d'incident :
C8704641 Cliquez sur le n° ticket pour accéder à son détail dans notre extranet
Référence de votre incident :
rt65
*
Contact :
. SUPERVISEUR CPE *
Adresse e-mail :
*
Vos références :
Nom du compte de regroupement :
SOCIETE GECOL *
Nom du site :
GECOL_120_87LIMOBG001A1_001
Adresse du site :
53 Avenue du Roussillon - 87000 LIMOGES
Master ID :
0000000001947995 *
Numéro de compte :
232243706A
et je voudrais obtenir ca *:
Citation:
Notification de résolution d'incident
Numéro d'incident : C8704641 Cliquez sur le n° ticket pour accéder à son détail dans notre extranet
Référence de votre incident : rt65
Contact : . SUPERVISEUR CPE
Adresse e-mail :
Vos références :
Nom du compte de regroupement : SOCIETE GECOL
Nom du site : GECOL_120_87LIMOBG001A1_001
Adresse du site : 53 Avenue du Roussillon - 87000 LIMOGES
Master ID : 0000000001947995
Numéro de compte : 232243706A
Comme puis je faire ?
J'ai bien essayé un code mais il ne fonctionne pas
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| Sub Main()
Dim str_texte As String
str_texte = File.ReadAllText("C:\Users\G19271\Documents\Monfichier.txt")
'Lit le fichier texte et le stocke dans un tableau
Dim str_lignes() As String = File.ReadAllLines("C:\Users\G19271\Documents\Monfichier.txt")
Dim int_compteur As Integer = 0
Dim int_i As Integer = 0
'On parcourt toutes les lignes du fichier
For int_i = 0 To str_lignes.Length - 1
' Si la ligne n'est pas vide
If str_lignes(int_i).Length > 0 Then
' On la copie dans l'autre tableau
str_lignes(int_compteur) = str_lignes(int_i)
' On recherche un ':' suivie d'un retour chariot dans la ligne courante
Dim searchStr As String
searchStr = ":" & vbCr 'Liste des variables global en bas du fichier
If InStr(str_lignes(int_compteur), searchStr) = 1 Then
' Ici, le chaine a été trouvée -> On retire le retour chariot
Replace(str_lignes(int_compteur), searchStr, ":")
' Et on y ajoute la ligne suivante (si il y a encore des lignes dans le fichier
If str_lignes.Length >= (int_i + 1) Then
str_lignes(int_compteur) = str_lignes(int_compteur) & str_lignes(int_i + 1)
int_i = int_i + 1 ' On saute la prochaine ligne
End If
End If
' Incrémente le compteur
int_compteur += 1
End If
Next
'Supprime les lignes en trop et stocke le tout dans un nouveau fichier
ReDim Preserve str_lignes(int_compteur - 1)
File.WriteAllLines("C:\Users\G19271\Documents\destination.txt", str_lignes)
End Sub
End Module |
Si vous avez un code meilleur qui me réaliserais ce que je souhaite ca serait sympa. Je vous remercie, je ne suis que débutant et ce n'est pas evident. Bonne soirée