POUR CREER UN FICHIER TEXTE ET ECRIRE DEDANS

Alan71 Messages postés 530 Date d'inscription lundi 3 juin 2002 Statut Membre Dernière intervention 13 juin 2004 - 20 oct. 2002 à 11:30
eddriouch Messages postés 1 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 3 décembre 2009 - 3 déc. 2009 à 09:20
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

eddriouch Messages postés 1 Date d'inscription samedi 5 avril 2008 Statut Membre Dernière intervention 3 décembre 2009
3 déc. 2009 à 09:20
merci bien
nicolasferreira Messages postés 6 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 9 mars 2009
10 déc. 2008 à 19:39
pardon je pensait que c'etait du visual basic

exusez-moi...
jihednond Messages postés 143 Date d'inscription jeudi 27 mars 2008 Statut Membre Dernière intervention 3 septembre 2011 1
10 déc. 2008 à 15:47
merci pour ce script
cs_Douns Messages postés 100 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 19 septembre 2005 1
2 déc. 2008 à 17:15
> 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
nicolasferreira Messages postés 6 Date d'inscription vendredi 30 mai 2008 Statut Membre Dernière intervention 9 mars 2009
2 déc. 2008 à 16:26
ca marche pas je ne sais pas pourqoi ?

j 'utulise vb9 (visual basic 2008)
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
10 avril 2008 à 15:34
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
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
10 avril 2008 à 14:25
Function PathFile()
Set fso = CreateObject("Scripting.FileSystemObject")
PathFile = fso.getabsolutepathname(".")
Set fso = Nothing
End Function
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
10 avril 2008 à 14:17
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
VestaX Messages postés 374 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 24 avril 2013
22 mars 2008 à 12:22
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
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
22 mars 2008 à 11:29
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¦
+---
VestaX Messages postés 374 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 24 avril 2013
21 mars 2008 à 20:40
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
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
17 oct. 2007 à 12:42
poses ta question sur le forum. Merci
bibicrocro Messages postés 3 Date d'inscription mercredi 18 octobre 2006 Statut Membre Dernière intervention 9 novembre 2007
17 oct. 2007 à 12:22
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.
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
19 mars 2007 à 18:46
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
cs_manellas Messages postés 7 Date d'inscription samedi 17 février 2007 Statut Membre Dernière intervention 20 mars 2012
19 mars 2007 à 13:58
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)
cs_marie_rim Messages postés 18 Date d'inscription vendredi 1 avril 2005 Statut Membre Dernière intervention 25 mars 2008
10 déc. 2006 à 17:51
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
@+
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
9 déc. 2006 à 23:44
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
cs_marie_rim Messages postés 18 Date d'inscription vendredi 1 avril 2005 Statut Membre Dernière intervention 25 mars 2008
9 déc. 2006 à 22:33
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
leSaleGauSS Messages postés 148 Date d'inscription samedi 4 novembre 2006 Statut Membre Dernière intervention 4 décembre 2008
8 déc. 2006 à 20:09
SAlut et merci, pour l'instant je connais que vbscript alors ...
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
8 déc. 2006 à 19:54
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
leSaleGauSS Messages postés 148 Date d'inscription samedi 4 novembre 2006 Statut Membre Dernière intervention 4 décembre 2008
8 déc. 2006 à 19:07
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
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
8 déc. 2006 à 15:58
C'est vrai que ça fait plus trop commentaires là !

@+

Antho2005
leSaleGauSS Messages postés 148 Date d'inscription samedi 4 novembre 2006 Statut Membre Dernière intervention 4 décembre 2008
7 déc. 2006 à 19:59
C'est marrant comme j'ai l'impression qu'on est sur un forum plutôt qu'à commenter une source ....
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
5 déc. 2006 à 17:14
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
sharkus Messages postés 43 Date d'inscription mardi 16 juillet 2002 Statut Membre Dernière intervention 10 juillet 2012
5 déc. 2006 à 11:04
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
leSaleGauSS Messages postés 148 Date d'inscription samedi 4 novembre 2006 Statut Membre Dernière intervention 4 décembre 2008
4 déc. 2006 à 19:03
Mais de rien ;)
anwnn06 Messages postés 5 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 6 décembre 2007
1 déc. 2006 à 21:01
génial ça marche !!!!

Merci à tous de vos réponses

bonne prog
@+
leSaleGauSS Messages postés 148 Date d'inscription samedi 4 novembre 2006 Statut Membre Dernière intervention 4 décembre 2008
30 nov. 2006 à 22:46
Ah oui désolé je pensais m'être fait comprendre avec le FSO ...
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
30 nov. 2006 à 19:52
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
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
30 nov. 2006 à 19:40
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
anwnn06 Messages postés 5 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 6 décembre 2007
29 nov. 2006 à 21:10
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
leSaleGauSS Messages postés 148 Date d'inscription samedi 4 novembre 2006 Statut Membre Dernière intervention 4 décembre 2008
28 nov. 2006 à 02:08
ANWNN06 => msgbox(f.readline)
f=fichier à ouvrir
anwnn06 Messages postés 5 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 6 décembre 2007
3 nov. 2006 à 22:15
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
kevain Messages postés 3 Date d'inscription mercredi 16 février 2005 Statut Membre Dernière intervention 2 septembre 2006
31 août 2006 à 13:31
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
dalradia Messages postés 4 Date d'inscription mercredi 2 août 2006 Statut Membre Dernière intervention 15 août 2006
15 août 2006 à 11:42
salut tout le monde,
je me demande bien ou peut on ecrire le code de la creation du fichier
merci d'avance.
sanyohan13 Messages postés 7 Date d'inscription mardi 2 mai 2006 Statut Membre Dernière intervention 23 mars 2009
29 mai 2006 à 11:33
comment fait-on pour copier une richtextbox dans un fichier .xls
tekila_bandita Messages postés 248 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 15 mars 2007 33
26 févr. 2006 à 16:21
Ne JAMAIS oublier de fermer un fichier !
( .Close )
premium0 Messages postés 9 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 1 juillet 2004
22 févr. 2006 à 14:52
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)
premium0 Messages postés 9 Date d'inscription jeudi 2 octobre 2003 Statut Membre Dernière intervention 1 juillet 2004
22 févr. 2006 à 14:48
C'est simple donc fiable !
C'est exactement ce que je voulais.
Ca marche très très bien.
Merci.
Sepi62500 Messages postés 34 Date d'inscription lundi 13 février 2006 Statut Membre Dernière intervention 24 août 2011
13 févr. 2006 à 17:56
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
cs_Douns Messages postés 100 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 19 septembre 2005 1
20 janv. 2006 à 23:16
Non car la fonction open et put sont des fonctions prédéfinies dans VB qui n'existent pas dans VBscript.
rafi_amine Messages postés 8 Date d'inscription dimanche 30 octobre 2005 Statut Membre Dernière intervention 5 février 2006
20 janv. 2006 à 21:28
dans vbscript on ne t ' ulise pas open("c:\nomfichier") for output #1

put #1,"je aime visual basic"

close #1
?????????????????
cs_Douns Messages postés 100 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 19 septembre 2005 1
23 août 2005 à 12:34
Et oui, le vbscript sert tjs!

Merci beaucoup, c'est ce qu'il me fallait!
XBenny Messages postés 3 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 30 septembre 2009
19 août 2005 à 11:51
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.
tekila_bandita Messages postés 248 Date d'inscription mercredi 15 juin 2005 Statut Membre Dernière intervention 15 mars 2007 33
27 juin 2005 à 14:01
Je cherche un codre similaire mais pour créer un fichier batch en vbs svp...
cs_zeguizmo Messages postés 138 Date d'inscription vendredi 1 août 2003 Statut Membre Dernière intervention 16 juillet 2009
29 avril 2005 à 18:26
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.
KiWin Messages postés 26 Date d'inscription dimanche 16 février 2003 Statut Membre Dernière intervention 11 avril 2006
5 déc. 2004 à 09:53
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.
Tolens Messages postés 11 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 19 novembre 2004
19 nov. 2004 à 14:33
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
cs_viran Messages postés 104 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 31 décembre 2006
13 sept. 2004 à 20:28
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!
cs_viran Messages postés 104 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 31 décembre 2006
13 sept. 2004 à 20:26
Pourquoi tu est ici alors si t'aimes pas le VBS?
FirSteph Messages postés 60 Date d'inscription lundi 21 octobre 2002 Statut Membre Dernière intervention 7 octobre 2007
28 mai 2004 à 15:43
Kler ca sert encore le VBScript =)
Thx man =)
spensers Messages postés 36 Date d'inscription samedi 18 octobre 2003 Statut Membre Dernière intervention 21 janvier 2011
10 nov. 2003 à 05:15
moi jtrouve pratique pour moi merci
BobBigBoss Messages postés 18 Date d'inscription mardi 13 août 2002 Statut Membre Dernière intervention 29 juin 2011
7 nov. 2002 à 03:01
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
babeuk Messages postés 47 Date d'inscription jeudi 21 février 2002 Statut Membre Dernière intervention 30 septembre 2003
21 oct. 2002 à 00:20
t'es con ou quoi ?? si on utilise du vbs c'est pr des fichiers vbs, pas forcement pr utiliser ds VB !
celiphane Messages postés 466 Date d'inscription samedi 16 février 2002 Statut Membre Dernière intervention 20 avril 2007
20 oct. 2002 à 17:08
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 !!!
Alan71 Messages postés 530 Date d'inscription lundi 3 juin 2002 Statut Membre Dernière intervention 13 juin 2004
20 oct. 2002 à 11:30
Open "c: est.txt" for output as #1

print #1, "MON TEXTE"

close #1
Rejoignez-nous