[RESOLU] Changer un mot dans un fichier .txt via Excel et Vba

CG2000

XLDnaute Occasionnel
Bonjour le Site, le Forum, le Fil.

Après des recherches dans les archives du site j'ai récupérer le code suivant de Michel:):

Code:
Sub ModifierFichierTexteV02()
Dim val As Long
Dim Cible As String
Open "D:\dossier\general\excel\test.txt" For Input As #1 'recup données fichier texte
val = FileLen("D:\dossier\general\excel\test.txt")
Cible = Input(val, 1)
Close 1
Cible = Application.Substitute(Cible, "AncienMot",Range("A1")) 'remplacement mot cible
Kill "D:\dossier\general\excel\test.txt" 'suppression fichier d'origine
Open "D:\dossier\general\excel\test.txt" For Append As #1 'creation nouveau fichier txt avec valeurs modifiees
Print #1, Cible
Close 1
End Sub

Dans le zip ci-joint nous avons le fichier txt et le fichier xls (contenant la macro).

La macro recherche dans le fichier txt les 1 et les remplaces par le contenu de la cellule A1 du fichier Excel.
Celà fonctione parfaitement mais ne correspond pas exactement à mon souhait.

Est-il possible que le mot de remplacement ne soit plus configurer dans la cellule A1 de Excel mais directement dans la Macro ?

Après plusieurs essais je n'arrive pas à modifier cette ligne pour obtenir mon résultat :(:

Cible = Application.Substitute(Cible, "AncienMot",Range("A1")) 'remplacement mot cible

Est-il possible de m'orienter ?

Par avance merci de votre aide.

CG2000
 

Pièces jointes

  • Exemple.zip
    7.2 KB · Affichages: 113
  • Exemple.zip
    7.2 KB · Affichages: 106
  • Exemple.zip
    7.2 KB · Affichages: 109
Dernière édition:

david84

XLDnaute Barbatruc
Re : Changer un mot dans un fichier .txt via Excel et Vba

Bonjour,
a priori, si le mot contenu de remplacement ne doit pas être modifié, inscrit le en dur à la place de Range(A1).value, sinon tu pourrais te servir d'une InputBox afin de définir le mot de remplacement et utiliser la valeur de l'inputBox dans le code.
A+
Edit : bonjour Jean-Claude:)
 

CG2000

XLDnaute Occasionnel
Re : Changer un mot dans un fichier .txt via Excel et Vba

Merci JC et david84 pour vôtre intervention.

La solution (ligne de code) de JC est parfaite. En ce qui concerne la propo de david84 étant intéressante je vais l'étudier.
Merci à vous deux et très bonne journée.

CG2000
 

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 074
Membres
103 455
dernier inscrit
saramachado