Ecrire dans un fichier txt (notepad) via VBA sous Excel

cs_kouki69 Messages postés 95 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 28 août 2015 - 8 sept. 2009 à 13:42
cs_kouki69 Messages postés 95 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 28 août 2015 - 9 sept. 2009 à 14:16
Bonjour
Voilà, est-ce possible de modifier des données dans un fichier txt à partir de VBA sous excel.
Je m'explique :

J'ai besoin de faire tourner un programme dont le fichier de données peut être ouvert avec un editeur tel que notepad.
A partir de Excel
Je modifie une valeur dans la cellule A1
Cette valeur devra être copié dans le fichier txt à un endroit précis (par exemple colonne 1, ligne 20). Je lance mon application qui va chercher le fichier de données (*.txt) et je lance le calcul.
Est-ce possible ??

Voici le tout début du script qui ouvre le fichier txt et lance le calcul.

Dim MyAppFX, ReturnValue

Dim MyAppNOTEPAD

MyAppNOTEPAD = Shell("C:\WINDOWS\SYSTEM32\notepad.exe C:\net\fx5b\Work\test.txt", 1)
MyAppFX = Shell("C:\NET\FX5B\RUN\FX.EXE", 1)

4 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
8 sept. 2009 à 16:11
Salut,

dans ce petit snippet de PCPT :http://www.codyx.org/snippet_remplacer-chaine-autre-dans-fichier_187.aspx
il y a tout ce dont tu as besoin de savoir pour ecrire dans un fichier texte

A+
0
cs_kouki69 Messages postés 95 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 28 août 2015
9 sept. 2009 à 10:03
Merci mais je n'y ai pas trouvé mon bonheur.
Ce que j'ai à remplacer, ce sont des valeurs numériques, localiser à des coordonnées précises.

Kouki
0
relax62 Messages postés 82 Date d'inscription vendredi 2 avril 2004 Statut Membre Dernière intervention 8 juillet 2012 1
9 sept. 2009 à 12:49
Bonjour,

Dans un premier temps lire le fichier à l'aide de la commande

dim n as integer
dim monstring as string

n=freefile()
open "c:\...\tonfichier.txt" for input as #n
do until eof(n)
line input #n, monstring
loop

close #n

tu peux lire chaque ligne, le placer dans un tableau, etc...


puis réecrire le fichier

n=freefile()
open "c:\...\tonfichier.txt" for output as #n

utiliser print (ou write ?) #n, madonneaecrire

close #n

Ces lignes répondent-elles à ta question ?

relax
0
cs_kouki69 Messages postés 95 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 28 août 2015
9 sept. 2009 à 14:16
Merci Relax,
Finallement, j'ai fais plus simple, j'ai utilisé la commande CONCATENER d'excel qui me permet d'assembler dans une même cellule des valeures provenant d'autres cellules, en enregistrant sous "type de fichier texte", je me retrouve avec la forme voulue.
Je jeterai un oeil sur ton code, mais j'avoue qu'à première vue, je n'y ai pas compris grand chose, je suis débutant ...
0
Rejoignez-nous