Modifier le contenu d'un fichier TXT

Résolu
php70 Messages postés 20 Date d'inscription lundi 21 février 2005 Statut Membre Dernière intervention 28 avril 2006 - 27 avril 2006 à 14:46
php70 Messages postés 20 Date d'inscription lundi 21 février 2005 Statut Membre Dernière intervention 28 avril 2006 - 28 avril 2006 à 07:51
Bonjour,

On me demande de faire une routine pour modifier en automatique le contenu de fichiers txt
il faut que je remplace une ligne " DATE : JJ-MM-AAAA "
en "DATE : AAAA-MM-JJ"

je sais manipuler le texte mais je n'ai aucune idée de la procedure pour
-ouvrir le fichier,
-chercher la chaine " DATE : JJ-MM-AAAA "
-la remplacer par la chaine "DATE : AAAA-MM-JJ" une fois le reformatage effectué
-fermer le fichier en enregistrant

merci d'avance de votre aide

Slts,
PhP 70

4 réponses

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
27 avril 2006 à 15:42
Pas besoin de FSO pour cela !
Dim L As String,Buffer As String,D As String
Open "LeFichier.txt" For Input as #1 ' Ouverture du fichier a traiter en lecture
While Not Eof(1) ' Lecture du fichier source jusqu'au bout
L = Line Input #1, L ' Lit une ligne du fichier
If L Like "Date : ##/##/####" Then ' Si la ligne est du type Date : 99/99/9999
Buffer = Buffer & "Date : "
D = Mid$(L,8) ' Extrait la date depuis la ligne
Buffer = Buffer & Format(D,"yyyy/mm/dd") & vbCRLF ' Ecrit la date et retour chariot
Else
Buffer = Buffer & L & vbCRLF ' Ecrit la ligne et un retour chariot
End If
Wend
Close #1 ' Referme le fichier source
Open "Tmp.txt" For Output As #1 ' Ouverture fichier temporaire en écriture
Print #1, Buffer ' Restocke les infos dedans
Close #1 ' Referme le fichier temporaire
Kill "LeFichier.txt" ' Détruit le fichier d'origine
Name "Tmp.Txt" As "LeFichier.Txt" ' Renomme le fichier temporaire

J'ai pas testé mais cela devrait le faire.
3
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
27 avril 2006 à 15:13
salut

je te conseille d'utiliser l'objet FileSystem

fait une recherche sur ce site, il y a plein de sources comme celle ci :
http://www.vbfrance.com/codes/GESTION-FICHIERS-FILESYSTEM_2380.aspx

et si tu as un probleme particulier pour son utilisation, n'hesite pas
0
php70 Messages postés 20 Date d'inscription lundi 21 février 2005 Statut Membre Dernière intervention 28 avril 2006
27 avril 2006 à 15:35
J'ai cherché, mais je ne sais même pas par quel bout attaquer
Le seul truc que je crois avoir compris c'est quavec VB il n'est pas possible de faire une opération du type chercher et remplace il faut ce recréer un fichier temp

là je patauge

Merci de votre aide

Slts,
PhP 70
0
php70 Messages postés 20 Date d'inscription lundi 21 février 2005 Statut Membre Dernière intervention 28 avril 2006
28 avril 2006 à 07:51
Merci Bcp

ça fonctionne très bien comme je le voulais

Il y avait juste un petit bug :
<strike>L =</strike> Line Input #1, L ' Lit une ligne du fichier

@ Pluche
Slts,
PhP 70
0
Rejoignez-nous