VBA, creer et ecrire un fichier text (.txt) depuis un macro - VB/VBA/VBS - Programmation
Marsh Posté le 18-06-2011 à 21:53:50
salut,
exemple pour crée un dossier Mois sous un dossier Année , l 'emplacement où tu va crée ce dossier et sous dossier est à toi de le mettre dans un textbox
Code :
|
Marsh Posté le 19-06-2011 à 06:39:38
Salut Pikamo,
le code break a :
chemin = TextBox1.Text + "\"
avant tout je cherche a creer un fichier texte, meme si je suis aussi super interesse par creer des dossiers.
Marsh Posté le 19-06-2011 à 06:50:56
je suis persuade que c'est un probleme d'administration, meme quand je veux simplement copier un fichier texte et le coller autre part j'ai besoin de l'autorisation administrateur grrrrrrr
Marsh Posté le 19-06-2011 à 09:34:29
dans le TextBox1.Text tu met le chemein où tu veux travaille
par exemple " C:\Documents and Settings\Mes documents " sans le "\"à la fin , déjà d’après le code , il va l'ajouter automatique
Marsh Posté le 20-06-2011 à 16:20:31
Un code tout con comme ca, ca ne marche pas non plus ?
Code :
|
Edit :
D'un autre coté, ca va etre dur de trouver ce chemin là : ("c:\windows\bureau\fichier.txt" )
Marsh Posté le 20-06-2011 à 19:04:17
c'est vrai que ca va etre dur de trouver ce chemin : ("c:\windows\bureau\fichier.txt" ) surtout lorsque le systeme est en anglais.
Neanmoins rien ne s'est cree sur c: avec ton code, ca break a cette ligne de commande :
Set f = fso.OpenTextFile("c:\test.txt", ForWriting, True)
et j'ai tendance a croire que ce pourrait etre un probleme d'administration.
Marsh Posté le 20-06-2011 à 20:50:15
Tu es sur quel OS ?
Si ce bete code ne marche pas, il y a un souci...
Marsh Posté le 20-06-2011 à 21:02:58
Je crois aussi que c'est peut-être un problème d'administration, ou plus précisément un problème de droit en écriture sur le répertoire (dossier) racine c:\.
En règle générale, on n'écrit jamais sur c:\. On écrit plutôt dans un sous-répertoire (sous-dossier).
Il faudrait essayer, par exemple, tout simplement avec :
Set f = fso.OpenTextFile("test.txt", ForWriting, True) |
Marsh Posté le 18-06-2011 à 15:49:08
Bonjour a tous,
cela fait plusieurs jours que je creuse sur internet, et que je trouve plein de reponses qui ne marchent pas, aucun fichier texte n'est cree. Je ne comprends pas pourquoi les solutions que j'ai trouvees ne marchent pas, est-ce un probleme d'acces, de securite, qui empecherait le fichier texte de se creer ? Mon antivirus est AVG dree antivirus edition 2011.
Ci-dessous une liste des choses que j'ai tentees sans succes :
'#################### first try ############################3
'first set a string which contains the path to the file you want to create.
'this example creates one and stores it in the root directory
MyFile = "c:\" & "whateveryouwant.txt"
'set and open file for output
fnum = FreeFile()
'Open MyFile For Output As fnum
write project info and then a blank line. Note the comma is required
Write #fnum, "I wrote this"
Write #fnum,
'use Print when you want the string without quotation marks
Print #fnum, "I printed this"
Close #fnum
'#################### second try ############################
Const LogFileName As String = "C:TEXTFILE.LOG"
Dim FileNum As Integer
FileNum = FreeFile ' next file number
LogMessage = "hello world"
'Open LogFileName For Append As #FileNum ' creates the file if it doesn't exist
Print #FileNum, LogMessage ' write information at the end of the text file
Close #FileNum ' close the file
'#################### third try ############################
Open "C:\c1c2.txt" For Append As #1
Print #1, ActiveSheet("A1" ).Value ' Référence de la cellule à copier dans le fichier
Close #1
'#################### fourth try ############################
'Pour creer le fichier texte
Set FSys = CreateObject("Scripting.FileSystemObject" )
Set MonFic = FSys.CreateTextFile("c:\windows\bureau\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
Msg = "Écriture réussie dans fichier.txt"
MsgBox (Msg)
'#################### fifth try ############################
Open "x.txt" For Append As #1
Print #1, "xxxxxx"
Print #1, "yyyyy"
Close #1
'#################### sixth try ############################
FileNumber = FreeFile ' Lit le numéro de fichier inutilisé
LogFile = "Report.log"
Open "C:\Excel\Report.log " For Append As #FileNumber
Print #FileNumber, "Fin du traitement à : " & Now()
Print #FileNumber, vbLf
Print #FileNumber, "-----------------------------"
Close #FileNumber