Remplacer du texte dans un fichier

Signaler
Messages postés
41
Date d'inscription
mercredi 31 juillet 2002
Statut
Membre
Dernière intervention
15 septembre 2003
-
Messages postés
24
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
21 décembre 2007
-
Salut!
Je voudrais supprimer une chaîne de caractères "&nsbp;" dans mon fichier texte, j'en ai un paquet dans mon fichier!
Merci d'avance à vous!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Bonne journée
:)

12 réponses

Messages postés
46
Date d'inscription
vendredi 12 avril 2002
Statut
Membre
Dernière intervention
11 juin 2003

TU vas dans le bloc note et tu fais remplacer   par rien . et c bon
pas besoin de programmer
0
Messages postés
41
Date d'inscription
mercredi 31 juillet 2002
Statut
Membre
Dernière intervention
15 septembre 2003

Sisii parce que il faut ke cela se fasse automatiquement pour mon application!!!!!!!!!!!
Merci quand même
:approve)
0
Messages postés
1858
Date d'inscription
samedi 29 juin 2002
Statut
Membre
Dernière intervention
17 octobre 2013
10
Dim i As Integer, Texte As String, carac As String * 1
Open "CheminFichier" For Binary Access Read As #1
For i = 1 To LOF(1)
Get 1, i, carac
Texte = Texte & carac
Next i
Close
Do
i = InStr(Texte, "&nsbp;")
If i <> 0 Then
Texte = Left(Texte, i - 1) & Mid(Texte, i + 6)
Else
Exit Do
End If
Loop
Kill "CheminFichier"
Open "CheminFichier" For Binary Access Write As #1
For i = 1 To Len(Texte)
Put 1, i, Mid(Texte, i, 1)
Next i
Close
0
Messages postés
41
Date d'inscription
mercredi 31 juillet 2002
Statut
Membre
Dernière intervention
15 septembre 2003

merci beaucoup l'isère,
0
Messages postés
2670
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Salut,
Si t'as VB6 utilise plutot la fonction replace...
Ca sera dix fois plus simple et plus rapide...
Tu ouvres ton fichier en Input tu aplique la fonction replace et tu sauvegardes...

Exemple:

Const chemin = "c:\...\MonFichier.txt"
Dim fichier as string
Dim ligne as string

Open chemin for Input as #1
While NOT EOF(1)
Input #1, ligne
fichier = fichier & ligne
Wend
Close #1

fichier = replace(fichier, "&nsbp", vbnullstring)

Kill chemin

Open chemin for Output as #1
Put #1, fichier
Close #1

Voili voilou...
C'est quand meme plus simple et surtout plus court...
J'espere t'avoir aider au mieux....
Si t'as d'autres questions n'hésites pas...
A++ et bonne prog...

DeAtH_-_CrAsH
0
Messages postés
186
Date d'inscription
lundi 11 mars 2002
Statut
Membre
Dernière intervention
30 novembre 2010
3
Oui, si tu veux aussi tu peux essayer les expressions régulières (peut être plus rapide)
Regarde le source et défini ta chaine de recherche
(voir doc.txt dans le zip) :
http://www.vbfrance.com/article.aspx?Val=5318
Bonne prog
ps : change aussi le "" par VbNullString (c'est plus rapide).
0
Messages postés
41
Date d'inscription
mercredi 31 juillet 2002
Statut
Membre
Dernière intervention
15 septembre 2003

Oui, merci à vous pour tous ces bons conseils.
L'ennui c'est que je n'ai que vb 5 qui n'a pas de fonction replace.
Merci quand même à vous tous.
Jord
0
Messages postés
186
Date d'inscription
lundi 11 mars 2002
Statut
Membre
Dernière intervention
30 novembre 2010
3
Justement avec VB5, tu dois pouvoir créer une référence vers Vbscript.dll, mais il faut que tu la supprimer pour que tu puisse la recréer en passant par parcourrir
:)
0
Messages postés
41
Date d'inscription
mercredi 31 juillet 2002
Statut
Membre
Dernière intervention
15 septembre 2003

ok
0
Messages postés
2670
Date d'inscription
vendredi 25 janvier 2002
Statut
Membre
Dernière intervention
6 février 2013
2
Comment tu sais que je suis de l'Isere ??? lol

Si tu veux je peux te faire un ptit bout de code te permettant de supprimer la chaine de charactere en question dans tes fichiers...
Ya aussi d'autres manieres tout aussi simple mais peut etre plus longue...

DeAtH_-_CrAsH
0
Messages postés
41
Date d'inscription
mercredi 31 juillet 2002
Statut
Membre
Dernière intervention
15 septembre 2003

feeling grenoblois
Finalement j'ai fini par ça , ça marche nickel, c'est pas de moi, mais bon je l'ai compris c l'essentiel.


 Dim fn_in As Integer
   Dim fn_out As Integer
   Dim s As String
   Dim loc As Long
    
   fn_in = FreeFile
   Open "C:\DevStudio\VB\sp1.txt" For Input As fn_in
    
   fn_out = FreeFile
   Open "C:\DevStudio\VB\sp0.txt" For Output As fn_out
    
   Do While Not EOF(fn_in)
      Input #fn_in, s
           loc = InStr(1, s, " ")
      Do While loc > 0
         If loc = 1 Then
            s = Mid(s, 7)
         Else
            s = Mid(s, 1, loc - 1) & Mid(s, loc + 6)
         End If
         loc = InStr(1, s, " ")
      Loop
      Print #fn_out, s
   Loop
    
   Close fn_in
   Close fn_out
0
Messages postés
24
Date d'inscription
mercredi 5 septembre 2007
Statut
Membre
Dernière intervention
21 décembre 2007

J'essaye le code mais j'ai un petit soucis il ne reconnait pas la commande open ...
et ce que quelqu'un aurait une explication?
0