Sauvegarde Textbox (s) dans Fichier Txt [Résolu]

foussouy 55 Messages postés dimanche 14 août 2011Date d'inscription 1 février 2013 Dernière intervention - 16 déc. 2012 à 19:10 - Dernière réponse : vb95 1684 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 18 octobre 2018 Dernière intervention
- 5 avril 2018 à 04:37
Bonsoir,

Donc voilà
Cela fait une heure que je cherche sur le Net pour trouver un moyen de sauvegarder des textbox dans un ficher Txt mais rien à faire tous les codes que j'ai trouver ne sont pas appropriés.
Je m'explique en détail :

Je possède exactement 48 textbox et je voudrais enregistrer chacune des textbox dans un fichier Bloc note de sorte à ce qu'il ressemble à ça :

- 1 "Contenu de textbox 1"
- 2 "Contenu de textbox 2"
- ..............
- 48 "Contenu de textbox 48"

J'utilise une savefiledialog pour enregistrer mon fichier mais après ce bout de code je bloque
SaveFileDialog1.ShowDialog()
.
J'ai vu qu'il existait un tas de code avec Writestream etc... mais je ne sais pas les utiliser
Merci d'avance pour l'aide
Afficher la suite 

Votre réponse

13 réponses

Meilleure réponse
foussouy 55 Messages postés dimanche 14 août 2011Date d'inscription 1 février 2013 Dernière intervention - 16 déc. 2012 à 20:17
1
Merci
Merci pour ton code acive mais je veux que l'utilisateur puisse enregistrer le fichier ou il le souhaite en utilisant la showdialog.
J'ai donc utiliser le code suivant :

Dim Savefile As New SaveFileDialog
        If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            Dim path As String = "c:\temp" & DateTimePicker1.Text & ".txt"
            Dim sw As StreamWriter
            If File.Exists(path) False Then sw File.CreateText(path)
            sw.WriteLine(Textbox1.Text)
            sw.WriteLine(Textbox2.text)
            sw.Flush()
            sw.Close()
        End If 


Mais sw est souligné en vert et VB express me dit qu'une exception peut subvenir pendant l’exécution et c'est ce qu'il se passe :s

ShayW les textboxs sont crées en design mode avec VB express 2010

Merci foussouy 1

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 102 internautes ce mois-ci

Commenter la réponse de foussouy
Utilisateur anonyme - 16 déc. 2012 à 19:32
0
Merci
Bonsoir,
Essaye ça:
Imports System.IO
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim path As String = "c:\temp\TonFichier.txt"
        Dim sw As StreamWriter
        If File.Exists(path) False Then    sw File.CreateText(path)
            sw.WriteLine(TextBox1.Text)
            sw.WriteLine(TextBox2.Text)
            sw.WriteLine(TextBox3.Text)
            sw.WriteLine(TextBox4.Text)
            sw.Flush()
            sw.Close()
    End Sub
End Class



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Commenter la réponse de Utilisateur anonyme
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 16 déc. 2012 à 20:06
0
Merci
Salut

tu veux sauvgarder tous tes textboxes les 48
ou il y peut en avoir plus
aussi tes texboxes sont crées en design mode avec
le IDE ou crée dynamiquement ?
Commenter la réponse de cs_ShayW
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 16 déc. 2012 à 20:50
0
Merci
peut etre ainsi

Private Sub SaveTextbox(ByVal path As String)
        Dim list As New List(Of String)
        For Each ctrl As Control In Me.Controls
            If TypeOf ctrl Is TextBox Then
                list.Add(DirectCast(ctrl, TextBox).Text)
            End If
        Next
        IO.File.WriteAllLines(path, list.ToArray)
    End Sub
    Private Sub Button1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Button1.MouseClick
        If SaveFileDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
            SaveTextbox(SaveFileDialog1.FileName)
        End If
    End Sub
Commenter la réponse de cs_ShayW
foussouy 55 Messages postés dimanche 14 août 2011Date d'inscription 1 février 2013 Dernière intervention - 16 déc. 2012 à 21:39
0
Merci
C'est bon j'ai réussi !

Merci de votre aide et voici le code qui me permet de sauvegarder le fichier ou je veux et le nommer comme je le veux mais j'ai mis la date à la place du nom en fait :)

Dim Savefile As New SaveFileDialog
        SaveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
        SaveFileDialog1.FilterIndex = 2
        SaveFileDialog1.RestoreDirectory = True
        SaveFileDialog1.FileName = DateTimePicker1.Text & ".txt"
        SaveFileDialog1.Title = "Enregistrer sous"
        If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            Dim sw As StreamWriter = New StreamWriter(SaveFileDialog1.FileName & ".txt", True)
            sw.WriteLine("Le ticket est le numéro : " & TextBox1.Text)
            sw.WriteLine("Le ticket est le numéro : " & TextBox2.Text)
                sw.Flush()
                sw.Close()
        End If


Merci de votre aide
Commenter la réponse de foussouy
Utilisateur anonyme - 16 déc. 2012 à 22:01
0
Merci
Ok,
ta première étape est faite... même si je n'ai pas compris à quoi sert cette ligne:
Dim Savefile As New SaveFileDialog


Maintenant comment vas-tu gérer tes 48 textbox?
Tu vas continuer comme ça jusqu'à 48?
sw.WriteLine("Le ticket est le numéro : " & TextBox1.Text)
sw.WriteLine("Le ticket est le numéro : " & TextBox2.Text)


Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Commenter la réponse de Utilisateur anonyme
foussouy 55 Messages postés dimanche 14 août 2011Date d'inscription 1 février 2013 Dernière intervention - 16 déc. 2012 à 22:04
0
Merci
Elle ne sert à rien ^^. Erreur de copier - coller.
Je comptais faire un For.... Next ou faire une incrémentation de valeur qui serait alors plus rapide mais dans le pire des cas oui je continuerais comme ça jusqu'à 48
Commenter la réponse de foussouy
Utilisateur anonyme - 16 déc. 2012 à 22:08
0
Merci
C'est ce que je me disais...
Tu peux faire comme ça:
 SaveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"
        SaveFileDialog1.FilterIndex = 2
        SaveFileDialog1.RestoreDirectory = True
        SaveFileDialog1.FileName = DateTimePicker1.Text & ".txt"
        SaveFileDialog1.Title = "Enregistrer sous"
        If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
            Dim sw As StreamWriter = New StreamWriter(SaveFileDialog1.FileName & ".txt", True)
            For i As Integer = 1 To 48
                sw.WriteLine("Le ticket est le numéro : " & (Me.Controls("TextBox" & i).Text))
            Next
            sw.Flush()
            sw.Close()
        End If



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Commenter la réponse de Utilisateur anonyme
Utilisateur anonyme - 16 déc. 2012 à 22:12
0
Merci
Ou plutôt (d'après ce que j'ai compris:
            For i As Integer = 1 To 48
                sw.WriteLine("Le ticket est le numéro : " & i.ToString & " - " & (Me.Controls("TextBox" & i).Text))
            Next



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
Commenter la réponse de Utilisateur anonyme
foussouy 55 Messages postés dimanche 14 août 2011Date d'inscription 1 février 2013 Dernière intervention - 16 déc. 2012 à 22:14
0
Merci
Ok merci beaucoup de ton aide je vais pouvoir sauvegarder mes données dans un fichier Bloc note et attendant de pouvoir les sauvegarder dans un fichier Excel ^^ mais ça ce sera pour plus tard quand j'aurais le temps :)
Merci encore.
Commenter la réponse de foussouy
Alvin1614 49 Messages postés lundi 24 avril 2017Date d'inscription 19 septembre 2018 Dernière intervention - 4 avril 2018 à 16:03
0
Merci
à quoi sert le
Dim sw As StreamWriter = New StreamWriter(SaveFileDialog1.FileName & ".txt", True)
?
Whismeril 12117 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 octobre 2018 Dernière intervention - 4 avril 2018 à 21:03
BONJOUR
vb95 1684 Messages postés samedi 11 janvier 2014Date d'inscriptionContributeurStatut 18 octobre 2018 Dernière intervention - 5 avril 2018 à 04:37
BONJOUR
Commenter la réponse de Alvin1614

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.