Ecrire dans fichier texte

Résolu
Roussetj
Messages postés
52
Date d'inscription
jeudi 26 juin 2008
Statut
Membre
Dernière intervention
2 octobre 2008
- 21 août 2008 à 16:50
PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
- 22 août 2008 à 08:46
Bonjour,

à partir de mon classeur excel initial, j'ouvre un fichier texte. Dans ce fichier texte, je voudrais remplacer certains caractères.

je m'explique: voila par exemple les 2 premières lignes de mon fichier texte:

:10057000073C073C0C0A1E07010000010071030044
:1005800002030000000101010000000000FA010068

j'ai en parallele une variable dim Nouvel as integer, tel que ici, Nouvel = 22

je veux remplacer les caractères en rouge de mon fichier texte par la valeur de la variable Nouvel.

plus clairement je veux obtenir un fichier texte tel que celui ci:
:10057000073C073C0C0A1E07012200010071030044
:1005800002030000022101010000000000FA010068

j'espere que j'ai reussi à me faire comprendre,

merci d'avance

4 réponses

PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
49
22 août 2008 à 08:46
... alors ce code + exemple devrait te servir de bonne piste :

http://www.codyx.org/snippet_remplacer-chaine-autre-dans-fichier_187.aspx

<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
3
Polack77
Messages postés
1098
Date d'inscription
mercredi 22 mars 2006
Statut
Membre
Dernière intervention
22 octobre 2019
1
21 août 2008 à 17:16
A ce que je sache le seul moyen de faire sa c'est de re-crée un fichier.
Donc tu lit le fichier initial
Tu modif ce qu'il y a à modif ( logique pas le reste )
Tu écrit dans un nouveau fichier
Une fois ton nouveau fichier écrit tu supprime le vieux et renomme le nouveau avec le nom du vieux

Perso je ne sait pas faire autrement

Amicalement
Pensez "Réponse acceptée"
0
PCPT
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Membre
Dernière intervention
3 février 2018
49
21 août 2008 à 17:16
salut,

comment est déterminé l'emplacement de tes double 0 ?
et toujours la même position en fonction de la ligne?
tâche sur plusieurs fichiers?

la fonction MID te permettra de faire ce que tu désires

mid$(tachaine, position_des_00,2)=nouvel

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp  
0
Roussetj
Messages postés
52
Date d'inscription
jeudi 26 juin 2008
Statut
Membre
Dernière intervention
2 octobre 2008

22 août 2008 à 08:33
d'un fichier à l'autre les positions des caractères à modifier n'est pas la même et il ne s'agit pas de double zéro non plus.

en ce qui concerne je la connais, je l'est rentré dans une variable Position.

oui je connais lz fonction mid et je sais comment l'utilisé.

mon problème se situe plus au niveau de l'écriture dans le fichier texte.
voici mon code (un peu simplifié):

Open Fichier For Input As #2
    Do
        Do While Not EOF(2)
            Line Input #2, LaLigne
            If InStr(1, Mid(LaLigne, 4, 3), Famille,vbTextCompare) <> 0 Then 
                Mid(LaLigne, Position,2) = Nouvel  ' c'est ici que mon problème apparait
            End If
        Loop
    Loop Until .....

Je sais qu'il manque des opérations, maisen fait je ne maitrise pas les opérations input, output, write, print, ...
et là je n'arrive pas à écrire dans mon fichier texte.

merci
0