Creation fichier txt

Signaler
Messages postés
264
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
23 mars 2012
-
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
-
Bonjour a tous,

j'ai trouver plusieurs souce parlant de la creation de fichier ou l'utilisation d'un fichier txt existante, mais rien de claire. est-ce que quelqu'un peut me dire comment creer un fichier txt avec un nom que je fais lui attribuer lors de l'execution et s'il est possible de m'expliquer les commande utiliser pour cette creation.

Merci a vous!

DraaFil

13 réponses

Messages postés
178
Date d'inscription
vendredi 9 février 2007
Statut
Membre
Dernière intervention
8 juin 2007

Open "c:\toto.txt" for output as #1
   Print #1, "bonjour"
Close #1
open "c:\toto.txt" for input as #1
   Input #1, a
   Print a
Close #1

au début tu ouvre le fichier c:\toto.txt pour écrire (output) comme le numéro 1 (ça te permet d'ouvrir 15fichiers en même temps)
ensuite tu écrit "bonjour" dans ce fichier
tu le fermes

ensuite tu ouvre toto.txt (le même) pour lire dedans (input), même explication pour le numéro.
ensuite tu met le premier mot du fichier dans la variable a (attention au type de variable)
ensuite tu écris sur ta forme ce qu'il y a dans la variable a (ici "bonjour" car c'est le seul mot du fichier)
tu fermes le fichier
Messages postés
264
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
23 mars 2012

Justement, je veux creer un fichier qui n,existe pas et le nom de ce fichier sera la date
Messages postés
178
Date d'inscription
vendredi 9 février 2007
Statut
Membre
Dernière intervention
8 juin 2007

Si le fichier n'existe pas, il est automatiquement créé
Messages postés
381
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
5 septembre 2010
3
Salut,
Dim srtFile as string
Dim intFile as interger
Dim strInputed as string

    strFile = "c:" & day(date) & "-" & month(date) & "-" & year(Date) & ".txt" 'Permet de créer un nom de fichier compatible windows (sans les slash) : ici c'est sous c ais tu peux le mettre ou tu veux
    intFile = freefile 'Permet de créer un numéro automatique de fichier libre
   
   

Open strFile for output as #intFile 'Pour écrire dedans
    Print #intFile, "chaine de caractère"
    Close #intFile 'Pour fermer et libérer le numéro de fichier

    While not (intFile.EOF) 'Permet de balayer ton fichier jusqu'à la fin
        Open strFile for input as #IntFile
        Input #IntFile, strInputed 'Contient une ligne de ton fichier
    Loop
   
 Fiko ;-)

La reponse vous convient pensez > Accepter <
<hr />
Messages postés
381
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
5 septembre 2010
3
Correction

Dim srtFile as string
Dim intFile as interger
Dim strInputed as string

   
strFile = "c:" & day(date) & "-" & month(date) & "-"
& year(Date) & ".txt" 'Permet de créer un nom de fichier
compatible windows (sans les slash) : ici c'est sous c ais tu peux le
mettre ou tu veux
    intFile = freefile 'Permet de créer un numéro automatique de fichier libre
   
    Open strFile for output as #intFile 'Pour écrire dedans
    Print #intFile, "chaine de caractère"
    Close #intFile 'Pour fermer et libérer le numéro de fichier

    Open strFile for input as #IntFile 'bien sure le fichier est ouvert pour lecture une seule fois
    While not (intFile.EOF) 'Permet de balayer ton fichier jusqu'à la fin
        Input #IntFile, strInputed 'Contient une ligne de ton fichier
    Loop
   





 Fiko ;-)



La reponse vous convient pensez > Accepter <
<hr />
Messages postés
264
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
23 mars 2012

ok merci a vous tous, je vais essayer cela!
Messages postés
178
Date d'inscription
vendredi 9 février 2007
Statut
Membre
Dernière intervention
8 juin 2007

Je vais embeter un peu fiko81 (pour le plaisir), en signalant qu'il est également possible de faire:

dim temp as string
dim i as integer

temp = date
for i = 1 to len(date)   if mid(temp, i, 1) "" then mid(temp, i, 1) "-"
next i

strFile = "c:" + temp
Messages postés
178
Date d'inscription
vendredi 9 février 2007
Statut
Membre
Dernière intervention
8 juin 2007

Oups, j'ai oublié la fin :

strFile = "c:" + temp + ".txt"

ça permet de pas avoir une ligne à rallonge genre :

strFile = "c:" & day(date) & "-" & month(date) & "-" & year(Date) & ".txt"

Mais sinon ça fonctionne quand même.
Messages postés
381
Date d'inscription
vendredi 24 septembre 2004
Statut
Membre
Dernière intervention
5 septembre 2010
3
Soyons fou, on peut encore mieux faire :
strFile = replace(cstr(date), "", "-")
on évite encore ça :
temp = date
for i = 1 to len(date)   if mid(temp, i, 1) "" then mid(temp, i, 1) "-"
next i

Pour le plaisir aussi ne le prend pas mal
 Fiko ;-)

La reponse vous convient pensez > Accepter <
<hr />
Messages postés
178
Date d'inscription
vendredi 9 février 2007
Statut
Membre
Dernière intervention
8 juin 2007

Bien vu, mais comme je n'ai "que" VB5, la fonction replace n'existe pas.

Mais il reste quand même 2-3 erreurs :

strFile = "c:" + replace(cstr(date), "/", "-") + ".txt"

Comment peux-t-on mal prendre un échange de connaissance?
C'est très instructif pour ceux qui ne savent pas (exemple: replace dispo sur VB6 et pas sur VB5)
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
IL est mieux d'utiliser 1 pour concaténer les Chaines de caractères

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
264
Date d'inscription
mercredi 16 avril 2003
Statut
Membre
Dernière intervention
23 mars 2012

Un autres question en lien avec l'ecriture dans le fichier, y-a-til moyen de mettre des caractere en couleur , en gras et italic, si oui comment, (.doc

Merci

DraaFil
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

beh soyons encore plus fou 

' sobullshit
dim temp as string
dim i as integer

temp = date
for i = 1 to len(date)
   if mid(temp, i, 1) = "" then mid(temp, i, 1) = "-"
next i

strFile = "c:" + temp + ".txt"

' fiko81
strFile = replace(cstr(date), "", "-")

' bibi  :D
'directement :
Open "C:" & Format(Date, "DD-MM-YYYY") & ".txt" For In/Output As #1
~
<small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>

Sinon, attention, Output réécris sur le fichier déjà existant, en effaçant tout. Pour écrire à la suite d'un fichier existant, il faut utiliser Open .. For Append

Pour info, Print #1, "blabla" te donnera un retour chariot à la fin, pour ne pas l'avoir :
Print #1, "blabla";    (avec le point-virgule)

Ensuite, pour ton histoire de Gras et couleurs, pas possible, faut passer en rtf

@++

<hr size="2" width="100%" />( Nouveau forum : Exclusivement Office & VBA