Enregistrer/Ouvrir un fichier .txt en vba

bmwax Messages postés 15 Date d'inscription mercredi 24 juin 2009 Statut Membre Dernière intervention 6 août 2009 - 24 juin 2009 à 11:47
cs_Joh76 Messages postés 47 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 14 octobre 2009 - 26 juin 2009 à 14:17
Sujet : TextBox et fichier txt

Message :
Bonjour, excusez-moi de vous déranger.
 
Je code en VBA et souhaiterais enregistrer le contenu de 25 TextBox dans un .txt (en ouvrant l'API "enregistrer sous" pour le renommer manuellement) puis qvec un autre bouton charger ces données dans les memes TextBox à l'aide de l'API "Ouvrir". Mon problème se trouve au niveau de l'enregistrement en .txt.

Je réussis en effet à mettre mes données dans un .txt et à charger ce .txt par la suite. Cependant, je n'arrive pas à l'enregistrer manuellement et donc le charger manuellement...

Voici mon code pour le remplissage du .txt:

___________________________________________________

Private Sub CmdValid2_Click()

Dim Response As Long
Open "J:\test.txt" For Output As 1
Print #1, TextBox1.Value
Print #1, TextBox2.Value
Print #1, TextBox3.Value
Print #1, TextBox4.Value
Print #1, TextBox5.Value
Print #1, TextBox6.Value
Print #1, TextBox7.Value
Print #1, TextBox8.Value
Print #1, TextBox9.Value
Print #1, TextBox10.Value
Print #1, TextBox11.Value
Print #1, TextBox12.Value
Print #1, TextBox13.Value
Print #1, TextBox14.Value
Print #1, TextBox15.Value
Print #1, TextBox16.Value
Print #1, TextBox17.Value
Print #1, TextBox18.Value
Print #1, TextBox19.Value
Print #1, TextBox20.Value
Print #1, TextBox21.Value
Print #1, TextBox22.Value
Print #1, TextBox23.Value
Print #1, TextBox24.Value
Print #1, TextBox25.Value
Close
'afficher le fichier text
Response = Shell("NotePad.exe J:\test.txt",
vbNormalFocus)

___________________________________________________

J'aimerais maintenant pouvoir afficher l'API enregistrer sous et sauver ce fichier txt mais la seule chose que j'arrive a enregistrer en affichant cette API c'est mon classeur entier... 

Pourriez-vous m'aider svp ?

Merci d'avance

4 réponses

cs_Joh76 Messages postés 47 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 14 octobre 2009 3
24 juin 2009 à 19:10
Bonjour,

Voici un bout de code qui pourrait t'aider:

Dim fs, f


Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.CreateTextFile(ThisWorkbook.Path & "\NomDuFichierTXT.txt", True)


f.Writeline TextBox1.Value


...\...


f.Close


set f=nothing
set fs=nothing

cdlt
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
24 juin 2009 à 19:14
@ [../auteur/JOH76/1343577.aspx Joh76] : Ton code n'est pas mauvais, mais autant rester cohérent en utilisant aussi le runtime VB6.
Open FileName For Output As #1
Print #1,"a"
Print #1,"b"
'...
Close #1
0
bmwax Messages postés 15 Date d'inscription mercredi 24 juin 2009 Statut Membre Dernière intervention 6 août 2009
25 juin 2009 à 09:48
Merci Joh 76, c'est une autre manière de faire... Cependant je n'ai toujours pas de boîte de dialogue qui me demande de renommer mon fichier. Donc chaque sauvegarde efface la précedente...

j'utilise Application.GetSaveAsFilename pour afficher la BDI mais elle sélectionne tout le fichier excel et non le simple fichier text avec mes valeurs...

T'aurais une idée ???
0
cs_Joh76 Messages postés 47 Date d'inscription dimanche 16 mars 2008 Statut Membre Dernière intervention 14 octobre 2009 3
26 juin 2009 à 14:17
Salut,

Il y a la source de The Mailman que tu peux modifier de sorte à affecter à une variable le chemin ainsi que le nom de ton fichier txt. Ensuite tu l'utilises dans Set f = fs.CreateTextFile.

C'est une solution à ton problème.

Voici le lien de la source:
http://www.vbfrance.com/codes/EXPLORATEUR-FICHIERS-VBA-DRIVE-DIR-FILELISTBOX-VB_41193.aspx

A+
0
Rejoignez-nous