Forum Clubic

VBA: copier/coller dans un.txt a une position precise

Bonjour,
mon probleme est le suivant,
j’ai une premiere macro:

Sub save()
’ Declaration variables
Dim FileName
’ Demande fichier de sauvegarde
FileName = Application.GetSaveAsFilename(Nom_fichier, “txt Files (*.txt), *.txt”)

’ Ouverture fichier

Open FileName For Output As #1

??

’ Fermeture fichier
'Close #1
End Sub

elle crée une fichier .txt, demande a l’utilisateur le nom quil veut lui donner, puis l’ouvre

maintenant, je souhaite que la macro aille chercher une valeur dans telle feuille telle case, et qu elle me l’insere a une place bien precise dans mon fichier toto.txt ( a la ligne 32 position 17 par exemple…)
comment je fais au plus simple???

De base ?

Tu crées un second fichier en écriture.
Tu lis le premier fichier jusqu’à obtenir ta position.
Tu écris tout ce qu’il y a dans le premier fichier du début jusqu’à la position.
T’écris ce que tu dois copier.
Tu écris tout ce qu’il y a dans le premier fichier après la position.

Et ça sera tout.

A noter que les éditeurs gardent tout ou une partie du fichier en mémoire, mais le principe reste globalement le même.

attention :
avec Open FileName For Output, si tu donnes le nom d’un fichier déjà existant, tu écrases ce fichier avant d’avoir pu en lire le contenu.
Il faut alors que tu passes par un fichier intermédiaire et faire ce que propose Sans-Nom.

Comme tu parles de feuille et de case, tu dois être entrain de faire de l’Excel ?
Si le fichier .TXT est une sauvegarde texte d’une feuille excel, tu as intérêt à l’importer, à effectuer dessus tes modifs puis à la réexporter