Creation fichier txt

DraaFil Messages postés 264 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 23 mars 2012 - 8 juin 2007 à 13:08
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 8 juin 2007 à 16:20
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

sobullshit Messages postés 178 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 8 juin 2007
8 juin 2007 à 13:27
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
0
DraaFil Messages postés 264 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 23 mars 2012
8 juin 2007 à 13:37
Justement, je veux creer un fichier qui n,existe pas et le nom de ce fichier sera la date
0
sobullshit Messages postés 178 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 8 juin 2007
8 juin 2007 à 13:41
Si le fichier n'existe pas, il est automatiquement créé
0
fiko81 Messages postés 381 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 5 septembre 2010 3
8 juin 2007 à 13:45
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 />
0

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

Posez votre question
fiko81 Messages postés 381 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 5 septembre 2010 3
8 juin 2007 à 13:46
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 />
0
DraaFil Messages postés 264 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 23 mars 2012
8 juin 2007 à 13:47
ok merci a vous tous, je vais essayer cela!
0
sobullshit Messages postés 178 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 8 juin 2007
8 juin 2007 à 13:52
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
0
sobullshit Messages postés 178 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 8 juin 2007
8 juin 2007 à 13:54
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.
0
fiko81 Messages postés 381 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 5 septembre 2010 3
8 juin 2007 à 14:01
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 />
0
sobullshit Messages postés 178 Date d'inscription vendredi 9 février 2007 Statut Membre Dernière intervention 8 juin 2007
8 juin 2007 à 14:28
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)
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
8 juin 2007 à 14:41
Salut,
IL est mieux d'utiliser 1 pour concaténer les Chaines de caractères

@+: Ju£i?n
Pensez: Réponse acceptée
0
DraaFil Messages postés 264 Date d'inscription mercredi 16 avril 2003 Statut Membre Dernière intervention 23 mars 2012
8 juin 2007 à 16:13
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
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
8 juin 2007 à 16:20
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
0
Rejoignez-nous