Ecriture dans fichier
Résolu
Allanoel
Messages postés
8
Statut
Membre
-
Allanoel Messages postés 8 Statut Membre -
Allanoel Messages postés 8 Statut Membre -
Bonjour,
Je vous écris pour vous demander si vous savez comment créer un fichier texte (.txt genre bloc note), y écrire des informations, l'enregistrer et ensuite que je puisse restituer ses informations au endroits ou elles étaient à partir de ce fichier créé.
Etant sur la version 2010 de Microsoft excel j'ai du mal à trouver comment programmer cela, je n'avais aucun mal à le faire sur Visual Basic mais la je ne sais pas du tout quelle procédure utilisé etc.
Merci d'avance pour votre aide.
Je vous écris pour vous demander si vous savez comment créer un fichier texte (.txt genre bloc note), y écrire des informations, l'enregistrer et ensuite que je puisse restituer ses informations au endroits ou elles étaient à partir de ce fichier créé.
Etant sur la version 2010 de Microsoft excel j'ai du mal à trouver comment programmer cela, je n'avais aucun mal à le faire sur Visual Basic mais la je ne sais pas du tout quelle procédure utilisé etc.
Merci d'avance pour votre aide.
A voir également:
- Ecriture dans fichier
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
7 réponses
Bonjour,
Voir ceci:
https://warin.developpez.com/access/fichiers/#LII
Voir ceci:
https://warin.developpez.com/access/fichiers/#LII
Sub ecrire()
Dim intFic As Integer
intFic = FreeFile
Open "C:\Users\LePivert\monfichier.txt" For Output As intFic 'chemin fichier texte
Print #intFic, Range("A1")
Print #intFic, Range("A2")
Print #intFic, Range("A3")
Print #intFic, Range("A4")
Print #intFic, Range("A5")
Close intFic
End Sub
Sub lecture()
Dim intFic As Integer
Dim strLigne As String
intFic = FreeFile
Open "C:\Users\LePivert\monfichier.txt" For Input As intFic 'chemin fichier texte
While Not EOF(intFic)
Line Input #intFic, strLigne
Range("A1") = strLigne
Line Input #intFic, strLigne
Range("A2") = strLigne
Line Input #intFic, strLigne
Range("A3") = strLigne
Line Input #intFic, strLigne
Range("A4") = strLigne
Line Input #intFic, strLigne
Range("A5") = strLigne
Wend
Close intFic
End Sub
Bonjour,
Oups désolé j'ai oublié de dire que mes informations devaient être enregistrées à partir d'un form depuis des textbox, est-ce que je dois juste adapter les "range" ou c'est un code particulier ?
Merci de te pencher sur mon problème.
Oups désolé j'ai oublié de dire que mes informations devaient être enregistrées à partir d'un form depuis des textbox, est-ce que je dois juste adapter les "range" ou c'est un code particulier ?
Merci de te pencher sur mon problème.
Il suffit juste de remplacer:
Range("A1") par TextBox1 et la même chose pour tout les autres
Range("A1") par TextBox1 et la même chose pour tout les autres
'écrire Print #intFic, TextBox1 'lire TextBox1 = strLigne
D'accord je me disais, j'essaie tout ça je reviendrai vers toi pour rendre compte de ma situation.
Merci de ton aide.
Merci de ton aide.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Voila je pense avoir fini mon programme de sauvegarde je te l'envois histoire que tu vois ce que j'ai fais , je l'ai un peu modifié histoire de pouvoir transporter le programme pour que celui-ci nous demande le chemin d'accès au fichier.
Si tu remarques une erreur fais le moi savoir ou éventuellement une faute de procédure ou quoi qui pourra entrainer une erreur je suis preneur il ne faudrait pas que mon programme s'arrête pour une erreur :p.
Voici le programme :
La sauvegarde
Le chargement
Oui j'ai rajouté des if mais c'est parce que j'avais une erreur quand j'annulais la boite de sélection des fichiers.
Sur ce je te dis merci je reste quand même la si tu as un commentaire à faire bonne continuation à toi.
Si tu remarques une erreur fais le moi savoir ou éventuellement une faute de procédure ou quoi qui pourra entrainer une erreur je suis preneur il ne faudrait pas que mon programme s'arrête pour une erreur :p.
Voici le programme :
La sauvegarde
Private Sub ecrire_Click() Dim intFic As Integer Dim chemin_acces As String Dim Ctr Application.FileDialog(msoFileDialogFilePicker).AllowMultiSelect = True Application.FileDialog(msoFileDialogFilePicker).Show For Ctr = 1 To Application.FileDialog(msoFileDialogFilePicker).SelectedItems.Count chemin_acces = Application.FileDialog(msoFileDialogFilePicker).SelectedItems(Ctr) Next If chemin_acces <> "" Then intFic = FreeFile Open chemin_acces For Output As intFic 'chemin fichier texte Print #intFic, puissance_absorbee Print #intFic, courant_nominal Print #intFic, courant_ib Print #intFic, courant_iz Print #intFic, courant_admissible Print #intFic, section_norme Print #intFic, section_constructeur Print #intFic, reference Print #intFic, tension Print #intFic, rendement Print #intFic, puissance_fournie Print #intFic, facteur_de_puissance Print #intFic, lettre_de_selection Print #intFic, ku Print #intFic, ke Print #intFic, ka Print #intFic, k1 Print #intFic, k2 Print #intFic, k3 Close intFic End If End Sub
Le chargement
Private Sub lire_Click()
Dim intFic As Integer
Dim strLigne As String
Dim chemin_dacces As String
Dim Ctr
Application.FileDialog(msoFileDialogFilePicker).AllowMultiSelect = True
Application.FileDialog(msoFileDialogFilePicker).Show
For Ctr = 1 To Application.FileDialog(msoFileDialogFilePicker).SelectedItems.Count
chemin_dacces = Application.FileDialog(msoFileDialogFilePicker).SelectedItems(Ctr)
Next
If chemin_dacces <> "" Then
intFic = FreeFile
Open chemin_dacces For Input As intFic 'chemin fichier texte
While Not EOF(intFic)
Line Input #intFic, strLigne
If strLigne = "" Then
puissance_absorbee = " "
Else
puissance_absorbee = strLigne
End If
Line Input #intFic, strLigne
If strLigne = "" Then
courant_nominal = " "
Else
courant_nominal = strLigne
End If
...
...
Wend
Close intFic
End If
End Sub
Oui j'ai rajouté des if mais c'est parce que j'avais une erreur quand j'annulais la boite de sélection des fichiers.
Sur ce je te dis merci je reste quand même la si tu as un commentaire à faire bonne continuation à toi.
Oui j'ai rajouté des if mais c'est parce que j'avais une erreur quand j'annulais la boite de sélection des fichiers.
Pour éviter cela, pourquoi ne pas créer le fichier texte dans le même dossier que le classeur?
comme ceci:
cela évite d'avoir une boite de dialogue de recherche de fichier!
Pour éviter cela, pourquoi ne pas créer le fichier texte dans le même dossier que le classeur?
comme ceci:
Sub ecrire()
Dim intFic As Integer
Dim chemin As String
chemin = ThisWorkbook.Path & "\monfichier.txt"
intFic = FreeFile
Open chemin For Output As intFic 'chemin fichier texte
Print #intFic, Range("A1")
Print #intFic, Range("A2")
Print #intFic, Range("A3")
Print #intFic, Range("A4")
Print #intFic, Range("A5")
Close intFic
Close intFic
End Sub
Sub lecture()
Dim intFic As Integer
Dim strLigne As String
Dim chemin As String
chemin = ThisWorkbook.Path & "\monfichier.txt"
intFic = FreeFile
Open chemin For Input As intFic 'chemin fichier texte
While Not EOF(intFic)
Line Input #intFic, strLigne
Range("A1") = strLigne
Line Input #intFic, strLigne
Range("A2") = strLigne
Line Input #intFic, strLigne
Range("A3") = strLigne
Line Input #intFic, strLigne
Range("A4") = strLigne
Line Input #intFic, strLigne
Range("A5") = strLigne
Wend
Close intFic
End Sub
cela évite d'avoir une boite de dialogue de recherche de fichier!