Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, ŕ l'utilisation de VBA et ŕ l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/10/2011, 10h25   #1
Membre régulier
 
Inscription : mai 2006
Messages : 84
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 84
Points : 97
Points : 97
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 :
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.
Paenitentia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2011, 12h11   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,

Essaie :

Code :
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
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle oů l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 18/10/2011, 12h30   #3
Membre régulier
 
Inscription : mai 2006
Messages : 84
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 84
Points : 97
Points : 97
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.

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

Citation:
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 :
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
Paenitentia est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/10/2011, 12h45   #4
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Il faut préciser sous quelle forme tu veux enregistrer ton fichier :


Code :
Worksheets(1).SaveAs fileSaveName, xlTextWindows
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle oů l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 18/10/2011, 13h16   #5
Membre régulier
 
Inscription : mai 2006
Messages : 84
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 84
Points : 97
Points : 97
Merci beaucoup pour ton aide !
Paenitentia est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h20.


 
 
 
 
Partenaires

Hébergement Web