POUR CREER UN FICHIER TEXTE ET ECRIRE DEDANS

Signaler
Messages postés
530
Date d'inscription
lundi 3 juin 2002
Statut
Membre
Dernière intervention
13 juin 2004
-
Messages postés
1
Date d'inscription
samedi 5 avril 2008
Statut
Membre
Dernière intervention
3 décembre 2009
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/4823-pour-creer-un-fichier-texte-et-ecrire-dedans

Messages postés
1
Date d'inscription
samedi 5 avril 2008
Statut
Membre
Dernière intervention
3 décembre 2009

merci bien
Messages postés
6
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
9 mars 2009

pardon je pensait que c'etait du visual basic

exusez-moi...
Messages postés
143
Date d'inscription
jeudi 27 mars 2008
Statut
Membre
Dernière intervention
3 septembre 2011

merci pour ce script
Messages postés
100
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
19 septembre 2005

> nicolasferreira

Parce que c'est du Vbscript et non du vb.
Ca semets dans un fichier texte et on termine ce fichier par l'extention .vbs
Messages postés
6
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
9 mars 2009

ca marche pas je ne sais pas pourqoi ?

j 'utulise vb9 (visual basic 2008)
Messages postés
153
Date d'inscription
samedi 8 avril 2006
Statut
Membre
Dernière intervention
1 mai 2012
1
Ah exact, je viens de comprendre en relisant ton message, VestaX ^^ !
Oui, donc Renfield a raison, tu peux faire comme ça pour récuperer le dossier et le manipuler ...
Où sinon, comme je l'avais fait (sauf que là je reprend tout le code) :

Set FSys = CreateObject("Scripting.FileSystemObject")
Set MonFic = FSys.CreateTextFile(".\fichier.txt")
With MonFic 'Pour écrire dans le fichier texte
.writeLine "Ecrivez la première ligne"
.writeLine "Ecrivez la deuxième ligne"
.writeLine "Ecrivez la troisième ligne, etc..."
End With
Set FSys = Nothing
Msg = "Écriture réussie dans fichier.txt"
MsgBox(Msg)

Enfin je crois que c'est ce que tu voulais faire ...

Antho2005
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
62
Function PathFile()
Set fso = CreateObject("Scripting.FileSystemObject")
PathFile = fso.getabsolutepathname(".")
Set fso = Nothing
End Function
Messages postés
153
Date d'inscription
samedi 8 avril 2006
Statut
Membre
Dernière intervention
1 mai 2012
1
Le systeme de commentaires comme tu dis sert avant tout à commenter la source contenant ces commentaires, mais bon, peut-être que tu as raison ...

En tout cas je comprend pas tout à ta question :p

Si il peut être déplacé, il peut être n'importe où, comme les autres "fichier.txt" et alors il n'y a aucun moen de les differencier ...

Pourrais-tu donner un exemple, éventuellement ?

Antho2005
Messages postés
376
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
24 avril 2013

ANTHO2005, je parle ici, car ma question concerne cette source. Je ne vais pas poser une question sur une source sur le forum. Sinon le systeme de commentaire ne servirait a rien.

En fait ma question n'est pas de rechercher tout les fichiers.txt. En fait le truc, c'est que dans la dirtection, il y a C:\Windows\fichier.txt. Moi ce que je voudrais, c'est que ca marche meme si tu déplace le dossier. en fait, faire une ligne de code qui reconnais le chemin ou se trouve le dossier.

je sais que je m'exprime mal, mais c'est un peu difficile a expliquer lol. merci quand meme de m'avoir répondu
Messages postés
153
Date d'inscription
samedi 8 avril 2006
Statut
Membre
Dernière intervention
1 mai 2012
1
Salut,

Ce serait mieux que les questions soient dorénavant (je parle bien, hein :)) posées sur le forum ... Ça éviterait qu'il y ait trop de commentaires qui n'en soient pas (enfin je me comprend. Mais je vais essayer de te répondre quand même, VestaX :

Est-ce que tu veux rechercher tout les fichiers 'fichier.txt' ? Dans ce cas :
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")
Set colFiles = objWMIService.ExecQuery _
("Select * from CIM_DataFile where Filename 'fichier' AND Extension 'txt'")
For Each objFile in colFiles
MsgBox "Chemin: '" + objFile.Name + "'", vbInformation, "Chemin du fichier"
'Ton traitement du fichier
Next
'Tiré de la source : http://www.vbfrance.com/codes/EFFECTUER-RECHERCHE-FICHIER-VBS-BIEN-SUR_32170.aspx
Je sais que c'est pas le plus rapide mais j'ai la flemme de ressortir les vieux codes ...

Si tu veux trouver un fichier relatif au chemin de lancement du script :
Set MonFic = FSys.CreateTextFile(".\fichier.txt")

Si ce n'est aucun de ces deux cas de figure, je n'ai pas tout compris ;)

---+
¦Antho2005¦
+---
Messages postés
376
Date d'inscription
mardi 2 décembre 2003
Statut
Membre
Dernière intervention
24 avril 2013

Salut, à cette ligne:

Set MonFic = FSys.CreateTextFile("c:\windows\bureau\fichier.txt")

on est vraiment obligé de mettre: "c:\windows\bureau\fichier.txt" ?? ca veux dire que si je déplace le dossier dans "mes documents" par exemple, ca ne marchera plus?

ya pas une commande qui serais capable de localiser l'emplacement du dossier?


désolé, je débute depuis tout juste 1 semaine
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
62
poses ta question sur le forum. Merci
Messages postés
3
Date d'inscription
mercredi 18 octobre 2006
Statut
Membre
Dernière intervention
9 novembre 2007

Bonjour,

J'ai créé un batch qui me permet de générer des fichier XML le seul problème c'est que cette méthode n'aime pas les accents. J'ai donc modifié mon script afin qu'il enlève les accents et qu'il les remplace par ê pour le "ê". Le problème c'est que une fois le fichier créé et que je l'ouvre dans ie pour voir si le format est bon il me ressort une erreur sur le "ê". Le truk le plus allucinant c'est que si j'ouvre mon fichier dans notepad et que je l'enregistre dans un autre fichier et qu'enfin je l'ouvre avec ie, le format est bon et il est lu correctement. Je pense que c'est l'encodage du fichier est problématique. mais mis à part la possibilité de mettre l'encode unicode à true ou false j'ai rien vu d'autre. Avez vous des solutions?

D'avance Merci.
Messages postés
153
Date d'inscription
samedi 8 avril 2006
Statut
Membre
Dernière intervention
1 mai 2012
1
Salut,

si tu veut mon avis, je pense que tu a mis un Option Explicit. Si c'est le cas enleve-le ou déclare tes variables :)

Au fait de rien Marie ;)

@+

Antho2005
Messages postés
7
Date d'inscription
samedi 17 février 2007
Statut
Membre
Dernière intervention
20 mars 2012

je fait copier le script dans un nouveau projet :il fonctionne bien
mais lorsque je l'inserre dans mon projet il me donne de debug( la variable FSys n'est pas déclarée)
Messages postés
18
Date d'inscription
vendredi 1 avril 2005
Statut
Membre
Dernière intervention
25 mars 2008

Super ça marche, un grand Merci à Antho2005 :)
Je croyais que la fonction input copie le tout le contenu du fichiers dans la variable donc? :{
Merci
@+
Messages postés
153
Date d'inscription
samedi 8 avril 2006
Statut
Membre
Dernière intervention
1 mai 2012
1
Salut,

il n'y a pas d'erreur, il n'y a juste pas de boucle :

msg = ""
Open App.path & "/Fichier.txt" For Input As #1
Do While Not EOF(1)
Input #1, ligne
msg = msg + ligne
Loop
Close #1
debug.print msg

@+

Antho2005
Messages postés
18
Date d'inscription
vendredi 1 avril 2005
Statut
Membre
Dernière intervention
25 mars 2008

Salut Merci pour le Code, ça Marche trés Bien juste un truc quand j utilise la fonction
open (App.path & "/Fichier.txt")for input as #1
Input #1,Msg
debug.print(Msg)
pour afficher le contenu du fichier dans la fenêtre d'execution il ne m affiche que la première ligne :-(
Est ce que c'est une erreur dans mon code ou quoi?
Merci pour votre aide

Mes salutations à tout le monde
Messages postés
148
Date d'inscription
samedi 4 novembre 2006
Statut
Membre
Dernière intervention
4 décembre 2008

SAlut et merci, pour l'instant je connais que vbscript alors ...
Messages postés
153
Date d'inscription
samedi 8 avril 2006
Statut
Membre
Dernière intervention
1 mai 2012
1
Salut,

c'est du vb6.

Au fait c'est :
(...) App.Path & "/monfichier.txt" (...)
parce que sans le slash ca va pas trouver grand chose.

@+

Antho2005
Messages postés
148
Date d'inscription
samedi 4 novembre 2006
Statut
Membre
Dernière intervention
4 décembre 2008

Au fait, c'est quoi comme langage du vb5 ?
Open App.Path & "monfichier.txt" For Append As #4
Print #4, "Le texte à marquer à la fin du fichier."
Close #4
Messages postés
153
Date d'inscription
samedi 8 avril 2006
Statut
Membre
Dernière intervention
1 mai 2012
1
C'est vrai que ça fait plus trop commentaires là !

@+

Antho2005
Messages postés
148
Date d'inscription
samedi 4 novembre 2006
Statut
Membre
Dernière intervention
4 décembre 2008

C'est marrant comme j'ai l'impression qu'on est sur un forum plutôt qu'à commenter une source ....
Messages postés
153
Date d'inscription
samedi 8 avril 2006
Statut
Membre
Dernière intervention
1 mai 2012
1
Salut,

pour cela il faudrait plutôt faire :

Open App.Path & "monfichier.txt" For Append As #4
Print #4, "Le texte à marquer à la fin du fichier."
Close #4

@+

Antho2005
Messages postés
43
Date d'inscription
mardi 16 juillet 2002
Statut
Membre
Dernière intervention
10 juillet 2012

Bonjour,
Comment vous faîtes pour écrire à la fin d'un fichier existant ?
Sachant que j'ouvre mon fichier avec l'instruction :
Open App.Path & "monfichier.txt" For Output As #4

Merci de votre aide
Messages postés
148
Date d'inscription
samedi 4 novembre 2006
Statut
Membre
Dernière intervention
4 décembre 2008

Mais de rien ;)
Messages postés
5
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
6 décembre 2007

génial ça marche !!!!

Merci à tous de vos réponses

bonne prog
@+
Messages postés
148
Date d'inscription
samedi 4 novembre 2006
Statut
Membre
Dernière intervention
4 décembre 2008

Ah oui désolé je pensais m'être fait comprendre avec le FSO ...
Messages postés
153
Date d'inscription
samedi 8 avril 2006
Statut
Membre
Dernière intervention
1 mai 2012
1
Et pour queça marche il ne faut pas juste le chemin ...

Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextFile(chemin)

msgbox(f.ReadLine)

@+

Antho2005
Messages postés
153
Date d'inscription
samedi 8 avril 2006
Statut
Membre
Dernière intervention
1 mai 2012
1
Je pense que c'est ton chemin qui ne va pas. L'as tu verifié ? Ce n'est pas plutôt 'C:\Documents and Settings\All Users\Bureau\fichier.txt' ?

@+

Antho2005
Messages postés
5
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
6 décembre 2007

Merci lesalegauss pour ta réponse

désolé je suis vraiment pas bon.
voilà ce que j'ai écris, mais ça ne marche pas !!

dim f
f = "C:\Bureau\fichier.txt"
msgbox(f.readline)

il me met Erreur :objet requis:'C:\bure'
Code : 800A01A8
Messages postés
148
Date d'inscription
samedi 4 novembre 2006
Statut
Membre
Dernière intervention
4 décembre 2008

ANWNN06 => msgbox(f.readline)
f=fichier à ouvrir
Messages postés
5
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
6 décembre 2007

Salut,
je suis nouveau, débutant, et donc très intéressé par vos compositions !
ça marche très bien mais comment je peux faire l'inverse: c'est à dire récupérer les lignes écrites dans le fichier txt pour les utiliser dans un msgbox?
Merci
Messages postés
3
Date d'inscription
mercredi 16 février 2005
Statut
Membre
Dernière intervention
2 septembre 2006

slt!
sympa ce code!
moi se que j'aimerais faire, c'est utiliser se code pour créer un autre fichier vbs (ecrire tout les ligne de code).
Et dans ces ligne de code jaimerais faire intervenir un autre fichier qui lui contient ossi une ligne de code!
en gros, jaimerais utiliser la ligne de code d'un autre fichier pour linsérerdans le nouveau.
Me suis-je bien fait comprendre lol?
merci pour votre aide
Messages postés
4
Date d'inscription
mercredi 2 août 2006
Statut
Membre
Dernière intervention
15 août 2006

salut tout le monde,
je me demande bien ou peut on ecrire le code de la creation du fichier
merci d'avance.
Messages postés
7
Date d'inscription
mardi 2 mai 2006
Statut
Membre
Dernière intervention
23 mars 2009

comment fait-on pour copier une richtextbox dans un fichier .xls
Messages postés
248
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
15 mars 2007
17
Ne JAMAIS oublier de fermer un fichier !
( .Close )
Messages postés
9
Date d'inscription
jeudi 2 octobre 2003
Statut
Membre
Dernière intervention
1 juillet 2004

En réponse à SEPI2500 :
'Avant, il faut cocher dans les références VB : Microsft Scripting Runtime

Dim fsys As Object
Dim monfic As Object

Set fsys = CreateObject("Scripting.FileSystemObject")
Set monfic = fsys.CreateTextFile("c:\fichier.txt")

With monfic 'Pour écrire dans le fichier texte
.WriteLine "Ecrivez la première ligne" 'Mettre write pour ne pas sauter à la ligne
.WriteLine "Ecrivez la deuxième ligne"
.WriteLine "Ecrivez la troisième ligne, etc..."
End With
Dim msg As String
msg = "Écriture réussie dans fichier.txt"
MsgBox (msg)
Messages postés
9
Date d'inscription
jeudi 2 octobre 2003
Statut
Membre
Dernière intervention
1 juillet 2004

C'est simple donc fiable !
C'est exactement ce que je voulais.
Ca marche très très bien.
Merci.
Messages postés
34
Date d'inscription
lundi 13 février 2006
Statut
Membre
Dernière intervention
24 août 2011

J'ai copier le code et ca marche pas ?
J'explique : je créer un fichier baa00138.txt
Je veux y insérer le texte de la textbox tx
Je suis vous vb 2005

Pourrais je avoir de l'aide ??

Merci d'avance à ce qui vont m'aider
Messages postés
100
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
19 septembre 2005

Non car la fonction open et put sont des fonctions prédéfinies dans VB qui n'existent pas dans VBscript.
Messages postés
8
Date d'inscription
dimanche 30 octobre 2005
Statut
Membre
Dernière intervention
5 février 2006

dans vbscript on ne t ' ulise pas open("c:\nomfichier") for output #1

put #1,"je aime visual basic"

close #1
?????????????????
Messages postés
100
Date d'inscription
lundi 16 septembre 2002
Statut
Membre
Dernière intervention
19 septembre 2005

Et oui, le vbscript sert tjs!

Merci beaucoup, c'est ce qu'il me fallait!
Messages postés
3
Date d'inscription
dimanche 24 novembre 2002
Statut
Membre
Dernière intervention
30 septembre 2009

Cool pour le code, je vais tester ça tout de suite. En effet pour les gens qui critique le VBS, et comme certains l'ont déjà dit, on se trouve dans la catégorie VB. Personnellement en tant qu'informaticien, je suis amené à travailler avec du code VBScript dans des applications du style Vijéo Look de schneider electric (supervision automate comme monitor pro mais en plus light) Et pour faire certaines choses on est OBLIGé de le faire en VBS. Alors les gu-guss qui jouent à programmer avec les langages les plus faciles, merci de ne pas pourrir les forums avec vos posts sans intérêts.
Messages postés
248
Date d'inscription
mercredi 15 juin 2005
Statut
Membre
Dernière intervention
15 mars 2007
17
Je cherche un codre similaire mais pour créer un fichier batch en vbs svp...
Messages postés
138
Date d'inscription
vendredi 1 août 2003
Statut
Membre
Dernière intervention
16 juillet 2009

Euuh vous êtes bêtes ou Belge ? Cette source est dans la catégorie VBScript ... je trouve ca assez logique d'avoir du VBScript no ?

M'enfin moi c'est ce que j'en pense hein ... parceque si on commence a voir débarquer tous les adeptes du C qui viennent poster des commentaires dans nos sources VB parceque le C c'est plus rapide, ben on a pas fini ...

Alors regardez bien dans quelle catégorie est postée la source avant de nous faire part de vos commentaires .... decevant de ta part Celiphane, j'aime pourtant bien tes sources.
Messages postés
26
Date d'inscription
dimanche 16 février 2003
Statut
Membre
Dernière intervention
11 avril 2006

D'accord avec celiphane n'utilisez pas le VBS ds vos applis ! Le VBS est dépendant du moteur de script de Windows, qui peut ne pas être installé en cas d'installation personnalisée de Windows. De plus ce composant peut être purement et simplement supprimé par sécurité (virus). Ds les deux cas votre appli ne fonctionnera pas.
Messages postés
11
Date d'inscription
mardi 25 novembre 2003
Statut
Membre
Dernière intervention
19 novembre 2004

Merci très utile, si je veux rajouter une ligne dans après la dernière ligne de mon fichier c'est quoi la commande ?
merci
Messages postés
104
Date d'inscription
jeudi 6 mai 2004
Statut
Membre
Dernière intervention
31 décembre 2006

Et ce serait bien si on pouvait definir nosu meme les lignes qu'on taperrait pour ce que tu as fait ca vaut meme pas un 5!
Messages postés
104
Date d'inscription
jeudi 6 mai 2004
Statut
Membre
Dernière intervention
31 décembre 2006

Pourquoi tu est ici alors si t'aimes pas le VBS?
Messages postés
60
Date d'inscription
lundi 21 octobre 2002
Statut
Membre
Dernière intervention
7 octobre 2007

Kler ca sert encore le VBScript =)
Thx man =)
Messages postés
36
Date d'inscription
samedi 18 octobre 2003
Statut
Membre
Dernière intervention
21 janvier 2011

moi jtrouve pratique pour moi merci
Messages postés
18
Date d'inscription
mardi 13 août 2002
Statut
Membre
Dernière intervention
29 juin 2011

Tu fais comment pour un fichier système comme msdos.sys ?
N.B. : VBScript c pratique pour des machines d'1 réseau ki n'ont pas VB6, ni les Runtimes VB6
Messages postés
47
Date d'inscription
jeudi 21 février 2002
Statut
Membre
Dernière intervention
30 septembre 2003

t'es con ou quoi ?? si on utilise du vbs c'est pr des fichiers vbs, pas forcement pr utiliser ds VB !
Messages postés
466
Date d'inscription
samedi 16 février 2002
Statut
Membre
Dernière intervention
20 avril 2007

c clair Alan71
ARRETER D'UTILISER DU VBSCRIPT PUT1
c pourri c encore plus lent c pas propre a lire, bref c ... c ... c déplaisant !!!
Messages postés
530
Date d'inscription
lundi 3 juin 2002
Statut
Membre
Dernière intervention
13 juin 2004

Open "c: est.txt" for output as #1

print #1, "MON TEXTE"

close #1