Fichier texte

Signaler
Messages postés
26
Date d'inscription
lundi 29 octobre 2007
Statut
Membre
Dernière intervention
23 avril 2008
-
Messages postés
9
Date d'inscription
lundi 1 janvier 2007
Statut
Membre
Dernière intervention
21 novembre 2007
-
bonjor a tous
Je voudrais créer, sous vba (excel), un fichier texte ,écrire et l'enregistrer dans un repertoire donné.J'ai pour l'instant un peu de mal et j'aurais besoin d'aide.
Merci

6 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
73
Salut
Regarde dans l'aide de VBA les instructions "Open", "Print #", "Close #"
C'est la même instruction qu sous VB6 : Regarde parmi les souces du site + les questions du forum

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut et Bonjour Jack,

Voici un petit exemple :

Private Sub Form_Load()


    ' Déclaration
     Dim MyFileNumber As Integer
     Dim MyCheminFichier As String
     Dim FileExist As String
    
    ' Chemin Fichier / passage valeur
     MyCheminFichier = "C:\Toto.Txt"
     FileExist = Dir(MyCheminFichier)
    
       ' si fichier existe on l'efface
       ' Du moins quand on utilise
       ' l'instruction OutPut pour l'écriture dans le fichier
        If LenB(FileExist) Then Kill MyCheminFichier
       
    ' Passage numéro de fichier
     MyFileNumber = FreeFile
    
    ' Ouverture et écriture dans le fichier "Toto.Txt"
     Open MyCheminFichier For Output As #MyFileNumber
        
         ' Ecriture dans le fichier
          Print #MyFileNumber, "Ceci est un test !"
    
    ' Fermeture du fichier
     Close #MyFileNumber


End Sub


A+
Exploreur

 Linux a un noyau, Windows un pépin


 
Messages postés
209
Date d'inscription
jeudi 5 août 2004
Statut
Membre
Dernière intervention
15 juillet 2009

Private Sub CommandButton2_Click()
Open "ech.txt" For Append As #1
Print #1, , "le total TTC est de   " & UserForm5.Label23
Close #1
End Sub

dans ce cas là on rappelle le fichier et on le lit :

Private Sub CommandButton5_Click()
Dim fso, fichier, ReadAll
Set fso = CreateObject("Scripting.FileSystemObject")
Set fichier = fso.OpenTextFile("ech.txt")
Do Until fichier.AtEndOfStream = True
MsgBox fichier.ReadLine
Loop
fichier.Close
End Sub


la procédure se déclenche en appuyant sur le bouton
le fichier ech.txt s'ouvre ou se créé par la fonction append as #1
il y a entre autre d'autres procédures possible :  la fonction output et la fonction input
la fonction input lit le contenu du fichier texte
la fonction output écrase et réécrit sur le fichier texte

la fonciton append ici utilisée créé le fichier si celui ci n'existe pas ou écrit à la suite du contenu si celui ci existe
la syntaxe dans ce cas est
open "fichier" for append as #1
Print #1, , "Monsieur" & nom
Close #1
End Sub

la fonction Scripting ici utilisée lit aussi le contenu mais c'est plus complexe que input...
Messages postés
9
Date d'inscription
lundi 1 janvier 2007
Statut
Membre
Dernière intervention
21 novembre 2007

Bonjour
Merci pour ces Codes, mais mon probleme a moi c'est que j'ai deja des fichiers tetes existants, et je veux que ma macro (VBA Excel) ,ouvre le fichier texte et insert une ligne au debut du fichier et ecrit une phrase sur cette ligne.

Merci bcp pour votre aide, j'ai tout essayé mais je n'arrive pas.
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
73
Salut
Comme tu as pu le lire en consultant les milliers de questions du forum liées aux fichiers texte, il n'est pas possible d'insérer des données dans un fichier texte ailleurs qu'à la fin.
Il te faudra donc :
- Ouvrir/Créer un nouveau fichier
- Insérer tes nouvelles données
- Relire le fichier original
- Insérer les données de ce fichier à la suite
- Fermer les fichiers
- Supprimer l'original
- Renommer le nouveau fichier comme l'original

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
9
Date d'inscription
lundi 1 janvier 2007
Statut
Membre
Dernière intervention
21 novembre 2007

Merci bcp pour la reponse

puis-je savoir SVP comment inserer les données d'un fichier texte dans un autre, ou bien les données d'1 feuille excel sur un fichier texte. je suis desolé je suis debutant en VBA.

je vous remercie par avance