IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[VBA EXCEL] export vers un fihcier txt


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 36
    Par défaut [VBA EXCEL] export vers un fihcier txt
    Bonjour

    je viens vers vous afin d'avoir quelques petites idees pour resoudre mon petit soucis du week end.

    A partir d'une feuille Excel, je voudrais pouvoir copier le contenu d'une zone vers un fichier txt.

    Pour rentrer un peu dans les details, je souhaite constituer un fichier txt avec un répétition d'un modéle stocké dans une page Excel.
    (or le modele peut etre contitué de 500 lignes et je peux vouloir generer un fichier contenant le modele plus de 200 fois. ce qui pourait faire plus de 65536 lignes, ce qui m'interdit de copier/coller mon modele dans la feuille excel puis de l'enregistrer en csv... en plus de souhaite garder un serparateur tabulation entre les colonnes)

    J'ai tenter (parmi d'autre) cette solution mais sans grand success:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    dim fso as Scripting.FileSystemObject
    dim txtfile as Object
     
    Application.Goto Reference:="Modele"
    Selection.Copy
     
    set txtfile = fso.GetFile("c:\testfile.txt")
    txtfile.paste
    merci pour votre aide
    Jarod

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    tu ne peu pas faire un copier/coller vers un fichier... essai un truc du genre :

    Dim fso As New Scripting.FileSystemObject
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Dim txtfile As TextStream
    Set txtfile = fso.CreateTextFile(""c:\testfile.txt"", True)
    Dim r As Range 'ligne du modele
    Dim c As Range 'cellule
    Dim stLigne As String 'Ligne à écrire..
    For Each r In Range("modele").Rows 'Parcours les lignes
      stLigne = ""
      For Each c In r 'Pacours les cellules de chaque lignes
       If stLigne = "" Then
         stLigne = c
       Else
         stLigne = stLigne & ";" & c
        End If
      Next
      txtfile.WriteLine stLigne
    Next

  3. #3
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 36
    Par défaut
    merci,
    Excellent, cela fonctionne. un peu basic et un peu lourd dans l'idee de parcourir toutes les cellules et de construire chaque ligne mais efficace et cela donne le resultat attendu.
    donc MERCI bbil

    il faut juste remplacer la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each c In r 'Pacours les cellules de chaque lignes
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     For Each c In r.cells 'Pacours les cellules de chaque lignes

    Citation Envoyé par bbil
    tu ne peu pas faire un copier/coller vers un fichier... essai un truc du genre :

    Dim fso As New Scripting.FileSystemObject
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Dim txtfile As TextStream
    Set txtfile = fso.CreateTextFile(""c:\testfile.txt"", True)
    Dim r As Range 'ligne du modele
    Dim c As Range 'cellule
    Dim stLigne As String 'Ligne à écrire..
    For Each r In Range("modele").Rows 'Parcours les lignes
      stLigne = ""
      For Each c In r 'Pacours les cellules de chaque lignes
       If stLigne = "" Then
         stLigne = c
       Else
         stLigne = stLigne & ";" & c
        End If
      Next
      txtfile.WriteLine stLigne
    Next

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Code VBA pour exporter vers Excel/Access
    Par piflechien73 dans le forum VBA PowerPoint
    Réponses: 1
    Dernier message: 26/03/2012, 07h37
  2. [VBA Excel] Extraction de données fichier txt vers Excel et mise en forme
    Par newcodeur dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 23/05/2008, 11h45
  3. [VBA Excel] Lien vers une page précise
    Par Viper7 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/06/2006, 21h54
  4. Réponses: 10
    Dernier message: 08/06/2006, 08h57
  5. [VBA-A]Export vers Excel
    Par steps5ive dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/04/2006, 14h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo