Fichier texte

cs_cam8 Messages postés 26 Date d'inscription lundi 29 octobre 2007 Statut Membre Dernière intervention 23 avril 2008 - 18 nov. 2007 à 12:23
secourma Messages postés 9 Date d'inscription lundi 1 janvier 2007 Statut Membre Dernière intervention 21 novembre 2007 - 21 nov. 2007 à 17:27
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

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
18 nov. 2007 à 13:37
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)
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
18 nov. 2007 à 14:56
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


 
0
chaudier37 Messages postés 209 Date d'inscription jeudi 5 août 2004 Statut Membre Dernière intervention 15 juillet 2009
18 nov. 2007 à 15:03
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...
0
secourma Messages postés 9 Date d'inscription lundi 1 janvier 2007 Statut Membre Dernière intervention 21 novembre 2007
21 nov. 2007 à 10:17
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
21 nov. 2007 à 16:17
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)
0
secourma Messages postés 9 Date d'inscription lundi 1 janvier 2007 Statut Membre Dernière intervention 21 novembre 2007
21 nov. 2007 à 17:27
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
0
Rejoignez-nous