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 :

Macro pour exporter plusieurs txt en séparation tabulation


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
    Webmaster
    Inscrit en
    Février 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2018
    Messages : 7
    Par défaut Macro pour exporter plusieurs txt en séparation tabulation
    Bonjour

    Gros noob dans l'utilisation de VBA, je me dois de l'utiliser dans un projet de graphique à la volée sous illustrator, qui demande de récupérer les données en format TXT et en séparation tabulation. Il y a 5000 txt à exporter. Ligne par ligne donc.
    Mon code de base, me permets d'exporter mes données, mais sans aucune connotation de séparation. Du coup, cela ne fonctionne pas avec mon import dans Illustrator

    Voici le code que j'ai dégoté et que j'utilise :

    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
     
    Sub nouveautxtbis()
    MkDir ("c:\RAEXPORTGO6\")
    For i = 1 To 5032
     
    Cells(i, 8).Value = "c:\RAEXPORTGO6\" & Cells(i, 7) & ".txt"
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set a = fs.CreateTextFile(Cells(i, 8).Value, True)
     
    a.WriteLine (Cells(i, 1))
    a.WriteLine (Cells(i, 2))
    a.WriteLine (Cells(i, 3))
    a.WriteLine (Cells(i, 4))
    a.WriteLine (Cells(i, 5))
    a.WriteLine (Cells(i, 6))
    a.Close
     
    Next
     
    End Sub


    Dans l'idéal, sur mon txt final, il devrait se présenter ainsi :
    CA1[Tab]X1
    CA2[Tab]X2
    CA3[Tab]X3

    En sachant que mes lignes, je les ai présentés ainsi :
    CALAME 0 CACOUR 0 CAFILS 0


    Pourriez m'aider à comprendre ?

    Merci à vous

  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
    Et si, avant d'envisager les solutions compliquées, on testait une solution simple ?

    Comme par exemple enregistrer avec un SaveAs FileFormat:=xlTextWindows, le format xlTextWindows ayant la tabulation comme séparateur.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2018
    Messages : 7
    Par défaut
    Merci de ton retour, mais j'ai deja une question :

    omme par exemple ouvrir ton fichier avec un simple OpenText pour en faire un Workbook (attention, ça ne signifie pas qu'il devient un fichier Excel sur ton disque, c'est juste une opération en mémoire)
    Pour toi Opentext c'est bloc-notes ou autre ? un Workbook ?

  4. #4
    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
    Citation Envoyé par flatlink Voir le message
    Pour toi Opentext c'est bloc-notes ou autre ? un Workbook ?
    Le OpenText ouvre un fichier texte pour le transformer en Workbook, c'est-à-dire en fichier Excel (mais uniquement en mémoire tant qu'il n'y a pas eu de sauvegarde).

    Mais j'avais mal lu ton code.
    Je n'avais pas vu que le classeur contenant les données sources était déjà ouvert. Donc oublie le OpenText.

    Il faudrait que pour chaque ligne, tu copies tes données dans un second classeur (une coquille vide qui ne sert que d'intermédiaire) que tu enregistres avec le Save.As que j'ai cité.

  5. #5
    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
    Ca donnerait quelque chose comme ça :

    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
    Sub nouveautxtbis()
        Dim i As Long
        Dim WB_Dest As Workbook
        Dim WS_Source As Worksheet, WS_Dest As Worksheet
     
        Set WS_Source = ActiveSheet
        Set WB_Dest = Workbooks.Add
        Set WS_Dest = WB_Dest.Sheets(1)
     
        For i = 1 To Cells(Rows.Count, 7).End(xlUp).Row
            WS_Source.Range(Cells(i, 1), Cells(i, 6)).Copy WS_Dest.Range("A1")
            WB_Dest.SaveAs FileName:="c:\RAEXPORTGO6\" & WS_Source.Cells(i, 7) & ".txt" , FileFormat:=xlTextWindows
        Next i
     
        WB_Dest.Close SaveChanges:=False
    End Sub
    C'est du code tapé à l'arrache directement sur le forum et non testé, il se peut donc qu'il y ait du débugage à faire mais tu as au moins le principe du truc.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2018
    Messages : 7
    Par défaut
    Merci je regarde ca tout de suite !

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2018
    Messages : 7
    Par défaut
    vu ma grande connaissance, j'ai une erreur à WB_Dest As Workbook : Instruction incorretcte à l'extérieur d'un bloc de type

  8. #8
    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
    Il manque le Dim.
    Cela dit, il faudrait quand même que tu essayes de chercher un peu par toi-même.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2018
    Messages : 7
    Par défaut
    Merci et je prends note de ton conseil, mais ca fait à peine 10 heures que je prends connaissance du VBA

Discussions similaires

  1. Macro pour importer plusieurs fichiers .txt dans différents onglets
    Par Hottois dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/03/2017, 23h05
  2. [XL-2003] Macro pour automatiser plusieurs tris et exports
    Par pat.852 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 21/03/2013, 19h08
  3. Catch des DUMP pour Export file TXT.
    Par 19cmos83 dans le forum SAP
    Réponses: 1
    Dernier message: 24/09/2009, 15h16
  4. [HTML] Macro pour modifier plusieur fichier html
    Par naouah dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 16/01/2009, 09h40
  5. Macro pour export fichier
    Par cefanic dans le forum Access
    Réponses: 6
    Dernier message: 10/04/2007, 10h20

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