Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2997 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA, creer et ecrire un fichier text (.txt) depuis un macro

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBA, creer et ecrire un fichier text (.txt) depuis un macro

n°2083070
florian211
Posté le 18-06-2011 à 15:49:08  profilanswer
 

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

mood
Publicité
Posté le 18-06-2011 à 15:49:08  profilanswer
 

n°2083103
pikamo
Posté le 18-06-2011 à 21:53:50  profilanswer
 

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 :
  1. Dim chemin$, anne$
  2. Dim chemin2$, mois$
  3. chemin = TextBox1.Text + "\"
  4. anne = txtannee.Text
  5. 'crée le dossier de l'année
  6. If Dir(chemin & anne, 16) = "" Then MkDir chemin & anne
  7. chemin2 = TextBox1.Text + "\" + anne + "\"
  8. mois = txtmois.Text
  9. 'crée le dossier de le mois
  10. If Dir(chemin2 & mois, 16) = "" Then MkDir chemin2 & mois

n°2083123
florian211
Posté le 19-06-2011 à 06:39:38  profilanswer
 

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.

n°2083125
florian211
Posté le 19-06-2011 à 06:50:56  profilanswer
 

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

n°2083136
pikamo
Posté le 19-06-2011 à 09:34:29  profilanswer
 

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

n°2083155
florian211
Posté le 19-06-2011 à 13:25:24  profilanswer
 

sauf qu'il n'y a pas de textbox

n°2083395
SuppotDeSa​Tante
Aka dje69r
Posté le 20-06-2011 à 16:20:31  profilanswer
 

Un code tout con comme ca, ca ne marche pas non plus ?
 

Code :
  1. Const ForReading = 1, ForWriting = 2
  2.    Dim fso, f
  3.    Set fso = CreateObject("Scripting.FileSystemObject" )
  4.    Set f = fso.OpenTextFile("c:\test.txt", ForWriting, True)
  5.    f.write ("Salut" )


 
Edit :
D'un autre coté, ca va etre dur de trouver ce chemin là : ("c:\windows\bureau\fichier.txt" )


Message édité par SuppotDeSaTante le 20-06-2011 à 16:21:46

---------------
Soyez malin, louez entre voisins !
n°2083452
florian211
Posté le 20-06-2011 à 19:04:17  profilanswer
 

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.

n°2083467
SuppotDeSa​Tante
Aka dje69r
Posté le 20-06-2011 à 20:50:15  profilanswer
 

Tu es sur quel OS ?
Si ce bete code ne marche pas, il y a un souci...


---------------
Soyez malin, louez entre voisins !
n°2083474
billgatesa​nonym
Posté le 20-06-2011 à 21:02:58  profilanswer
 

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)


Message édité par billgatesanonym le 21-06-2011 à 12:35:12

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA, creer et ecrire un fichier text (.txt) depuis un macro

 

Sujets relatifs
[Résolu]copier fichier qui se trouve dans dossier1 dans le dossier2Allocation VBA
[VBA] comparaison entre 2 lignes successivesVBA : Erreur de syntaxe dans un champs Word
Creer un script automatiquement sur site perso ?[RE]Excel : Macro : Lien vers la deuxième feuille quelque soit son nom
Macro Excel pour transformer les cellules enrichis en htmlCréer un module live : php ?
Boucles for imbriquées, macro trop lenteLire un fichier text et extraire les caracteres 25 a 37 de chaque lign
Plus de sujets relatifs à : VBA, creer et ecrire un fichier text (.txt) depuis un macro


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR