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 :

Enregistrer sous .txt et fermeture du fichier


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 140
    Par défaut Enregistrer sous .txt et fermeture du fichier
    Bonjour ŕ tous.

    A la fin d'une macro, je souhaite enregistrer le contenu d'une feuille Worksheets dans un document .txt avec séparateur tabulation, puis fermer cette feuille. J'ai donc programmé le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenętre ŕ part
    1
    2
    3
    4
    5
    6
    7
    8
    9
            Workbooks(NomFichierBaseInstallations).Worksheets(1).Activate
            fileSaveName = Application.GetSaveAsFilename( _
                fileFilter:="Text Files (*.txt), *.txt")
            If fileSaveName <> False Then
                Worksheets(1).SaveAs fileSaveName
            End If
     
     
            Workbooks(NomFichierBaseInstallations).Close False
    Mon problčme est que malgré la sélection du filtre .txt, la boite de sélection indique le nom du fichier actuel, qui est en .xls. Par conséquent, si l'utilisateur clique par défaut sur "Enregistrer sous" sans rien toucher, il ne va pas enregistrer un document au format .txt mais au .xls.

    Concrčtement, la boîte de sauvegarde remplit le champ du fichier par un "fichier.xls" (avec les guillemets) et un type de fichier : fichier text (.txt), *.txt.

    Comment faire pour qu'il enregistre ŕ tous les coups en fichier .txt ?

    Merci.

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Essaie :

    Code : Sélectionner tout - Visualiser dans une fenętre ŕ part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test()
            Workbooks(NomFichierBaseInstallations).Worksheets(1).Activate
            fileSaveName = Application.GetSaveAsFilename( _
                "", fileFilter:="Text Files (*.txt), *.txt")
            If fileSaveName <> False Then
                Worksheets(1).SaveAs fileSaveName
            End If
     
     
            Workbooks(NomFichierBaseInstallations).Close
    End Sub

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 140
    Par défaut
    Merci pour ton aide, je peux du coup enregistrer ŕ chaque fois au format .txt, mais j'ai plein de caractčres bizarres qui apparaissent et rendent le fichier texte créé inexploitable.

    ĐĎࡱá >  ţ˙     Ô  ţ˙˙˙ r ó t ő v
    ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
    ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
    ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
    ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
    ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
    ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙
    ˙
    Alors qu'en faisant un Fichier > Enregistrer sous manuel, j'obtiens ça :

    CODE_LIGNE RANG PK LEGENDE
    272000 1 217434 272000 Ligne de Paris-Nord ŕ Lille (du PK 2000 ŕ 250928 - 268 installations)
    272000 1 217434 272000 Ligne de Paris-Nord ŕ Lille (du PK 2000 ŕ 250928 - 268 installations)
    242000 1 83559 242000 Ligne de Creil ŕ Jeumont (du PK 71271 ŕ 237822 - 489 installations)
    Ça vient de l'encodage du fichier ?

    Le modifié le "Text file" pour le faire correspondre mais rien n'y fait, voici le code actuel :

    Code : Sélectionner tout - Visualiser dans une fenętre ŕ part
    1
    2
    3
    4
    5
    6
    7
     
            Workbooks(NomFichierBaseInstallations).Worksheets(1).Activate
            fileSaveName = Application.GetSaveAsFilename( _
                "", fileFilter:="Texte (séparateur: tabulation) (*.txt), *.txt")
            If fileSaveName <> False Then
                Worksheets(1).SaveAs fileSaveName
            End If

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Il faut préciser sous quelle forme tu veux enregistrer ton fichier :


    Code : Sélectionner tout - Visualiser dans une fenętre ŕ part
    Worksheets(1).SaveAs fileSaveName, xlTextWindows

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    140
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 140
    Par défaut
    Merci beaucoup pour ton aide !

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 09/07/2015, 09h54
  2. [XL-2007] Feuille XLS enregistrer sous txt
    Par 0916paps dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/10/2010, 09h22
  3. "enregistrer.sous" avec un nom de fichier récupéré dans une variable
    Par mauriceguillier dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/10/2010, 14h49
  4. Réponses: 3
    Dernier message: 28/04/2009, 19h12
  5. Enregistré sous un fichier .txt
    Par Max(soul) dans le forum Dynamique
    Réponses: 26
    Dernier message: 16/01/2007, 15h09

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