Purger un fichier text des espaces non utiles [Résolu]

Signaler
Messages postés
16
Date d'inscription
vendredi 8 juin 2007
Statut
Membre
Dernière intervention
17 juin 2009
-
Messages postés
16
Date d'inscription
vendredi 8 juin 2007
Statut
Membre
Dernière intervention
17 juin 2009
-
je veux effacer un mots apres le dernier separateur dans chaque lignes d'un fichier text.
et je veux eliminer les espace unitiles dans chaque ligne d'un fichier text.
j'ai essayer la fonction trim mais elle efface seulement les espaces inutiles à l'intérieure du text et le dernier espace dans le text.
je ss pas, elle ne detecte pas le saut de ligne.
je veux b1 une conseil à ce propos.
merci

4 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
utilises Split pour séparer les lignes

tu pourras ensuite effectuer le traitement que tu veux sur chaque element de ton tableau de ligne.

Join te permettra ensuite de replacer le tout dans un fichier texte.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
69
pourquoi tu joues avec ce 'Essai2'
pas besoin d'ajouter des RichTextbox pour manipuler des fichiers, fort heuresement.

n'oublie pas de spécifier le caractère a utiliser pour séparer les élements à joindre via Join

chr(10) => utilises VbCrLf

j'ai pas compris ta boucle de suppressio des espaces a droite...
pourquoi ne pas utiliser RTrim$ ? (surtout que derrière, tu fais un Trim)...

de tête, je dirai:

Dim iFile As Integer
Dim xsLines() As String
Dim i As Long
iFile = FreeFile
Open "C:\List1.text" For Input As #iFile
xsLines = Split(Input(LOF(iFile), #iFile), vbNewLine)
Close #iFile

For i = 0 To UBound(xsLines)
xsLines(i) = RTrim$(xsLines(i))
Next i

iFile = FreeFile
Open "C:\List2.txt" For Output As #iFile
Print #iFile, Join(xsLines, vbNewLine);
Close #iFile
Messages postés
16
Date d'inscription
vendredi 8 juin 2007
Statut
Membre
Dernière intervention
17 juin 2009

slt


j'essayé un code mais ca marche pas avec "join".


si tu px me donner un conseille et corriger mn code.


et merci.


Chemin = "c:\List1.txt"
Essai1.FileName = Chemin
Dim chaine As String
Dim Essai As String
chaine = Essai1.Text


Text = Split(chaine, Chr(10))
For j = 0 To 8
newtext = ""
cardel = 0
For i = 1 To Len(Text(j))
lettre = Right(Text(j), 1)    If (lettre " " And cardel 0) Then
            cardel = 1    ElseIf (lettre " " And cardel 1) Then
        lettre = ""
    Else
        cardel = 0
    End If
newtext = lettre & newtext
Text(j) = Left(Text(j), Len(Text(j)) - 1)
Next
Essai = Trim(newtext)
MsgBox (Essai)


Essai2 = Join(Essai)


Essai2.Text = Essai2
Chemin1 = "c:\List2.txt"
Essai2.SaveFile Chemin1, rtfText
Next
Messages postés
16
Date d'inscription
vendredi 8 juin 2007
Statut
Membre
Dernière intervention
17 juin 2009

merci,
ca marche trés bien.