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 :

Exporter un tableau vers Word dans un format txt


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2014
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2014
    Messages : 5
    Par défaut Exporter un tableau vers Word dans un format txt
    Bonjour à tous,

    Je désirerais effectuer une transformation d'un fichier excell vers un fichier .txt

    La méthode retenue est la suivante:


    1) copier la colonne A de la feuille1 de mon tableau Excell
    2) Ouvrir Word
    3) Coller le tableau
    4) convertir le tableau en texte
    5) enregistrer le fichier word en .txt dans le même dossier que le fichier excell.

    Je suis arrivé à effectuer les 3 premières étapes avec la macro suivante, mais là je bloque.

    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
    17
    18
    19
    20
    21
    22
    23
    24
    Public Sub CopiedansWord()
     
    ' Création d'une variable de type Application
    Dim w As Word.Application
    Set w = New Word.Application
     
    ' Création d'une variable de type Document
    Dim wdoc As Word.Document
    Set wdoc = w.Documents.Add
     
    w.Visible = True
     
    'Copie dans Excel
    Range("A1:B5").Copy
     
    w.Selection.Paste
     
    wdoc.Tables(1).AutoFitBehavior wdAutoFitWindow
     
    Application.CutCopyMode = False
     
     
     
    End Sub

    Auriez-vous une idée ou une solution adaptée à am demande?
    Je vous glisse le document xlsm et le txt final que je souhaite obtenir.

    test.txt

    Calssseur de test.xlsm

    je vous remercie d'avance

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Je ne comprends pas ton processus.

    Si ton but est de transformer un contenu Excel en texte pur, pourquoi passer par Word ?
    Il serait plus simple de transformer directement de l'Excel en txt, surtout s'il n'y a qu'une seule colonne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public Sub CopieTxt()
    Dim Source As Worksheet
     
    Set Source = ActiveSheet
    Worksheets.Add
     
    Source.Range("A1:B5").Copy Range("A1")
    ActiveSheet.SaveAs(ActiveWorkbook.Path & "\MonFichier.txt", xlTextWindows)
     
    DisplayAlerts = False
    ActiveSheet.Delete
    DisplayAlerts = True
     
    End Sub
    C'est du code écrit à l'arrache directement sur le forum et non testé.
    Il se peut donc que tu ais un peu de débugage à faire.

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    bonjour
    tu peux aussi créer ton fichier texte tout simplement avec open for output
    voici une petite fonction toute simple et la sub pour la tester

    la sub pour l'appeler
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub test()
        saveplageto_TXT Range("A1:f10"), "C:\Users\polux\Desktop\ttt.txt", ","
    'argument 1 plage a sauver en text
    'argument 2 chemin de destination (complet)
    'argument 3 separateur de colonne dans le .texte(facultatif ":" par defaut)
    End Sub
    la sub qui fait le boulot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub saveplageto_TXT(rang As Range, fichier, Optional sep = ";")
        Dim x As Long
        rang.Copy: With CreateObject("htmlfile"): txt = Replace(.parentwindow.clipboardData.GetData("Text"), vbTab, sep): End With
        x = FreeFile: Open fichier For Output As #x: Print #x, txt: Close #x
        Application.CutCopyMode = False
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

Discussions similaires

  1. Exporter un tableau vers excel dans Windev Mobile 20
    Par younesoft dans le forum Windev Mobile
    Réponses: 3
    Dernier message: 25/08/2016, 13h28
  2. [XL-2010] Partager puis Exporter un tableau vers word
    Par Matrixmax dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 23/04/2013, 11h54
  3. Réponses: 6
    Dernier message: 07/08/2006, 16h16
  4. [Excel] Exporter un tableau vers excel
    Par legillou dans le forum Documents
    Réponses: 8
    Dernier message: 08/02/2006, 14h37
  5. Import/Export d'un document Word dans un état
    Par uskiki85 dans le forum Access
    Réponses: 2
    Dernier message: 28/09/2005, 13h18

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