Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Enregistrement d'un fichier - choix de l'emplacement par l'utilisateur

  • Initiateur de la discussion Initiateur de la discussion TestSugar1
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

TestSugar1

XLDnaute Nouveau
Bonjour,

J'aimerais, à la fin de tous mes traitements de macros Excel, enregistrer mon fichier Excel (qui s'appelle Adresses erronées_macro.xls), d'abord au format Excel, puis au format Texte (séparateur : tabulation), soit Adresses erronées_macro.txt.

Dans les archives du forum, j'ai trouvé comment demander à l'utilisateur quel nom il veut donner au fichier à l'enregistrement, mais ce n'est pas ce qui m'intéresse (le nom de fichier est fixe). Je voudrais savoir comment faire choisir à l'utilisateur l'emplacement où il fait l'enregistrement.

Voici mon code :
Code:
Sub Macro1_save()

[COLOR="Green"]' Enregistre le fichier, aux formats .xls et .txt[/COLOR]

    ActiveWorkbook.Save
    ActiveWorkbook.SaveAs Filename:="D:\SugarCRM\Adresses erronées_macro.txt", _
        FileFormat:=xlText, CreateBackup:=False
        
End Sub

Comment puis-je faire pour que l'utilisateur puisse choisir où enregistrer le fichier .txt et/ou pour que le fichier .txt soit créé à l'endroit où se trouve déjà le .xls ?
[Dans mon exemple, le fichier .xls se trouve dans D:\SugarCRM\ mais cela peut changer.]

Merci 🙂
 
Re : Enregistrement d'un fichier - choix de l'emplacement par l'utilisateur

Bonjour,

une solution avec la boite de dialogue enregistrer:

Code:
Sub Macro1_save()
Application.Dialogs(xlDialogSaveWorkbook).Show "Adresses erronées_macro"

End Sub
 
Re : Enregistrement d'un fichier - choix de l'emplacement par l'utilisateur

Bonsoir testsugar

regarde le code ci-dessous, je pense que tu dois pouvoir l'adapter facilement, si ce n'est pas le cas reviens sur le fil :

Code:
Dim fichier As Variant
fichier = Application.GetSaveAsFilename("NomClasseur.xls", "(*.xls), *.xls")
If fichier <> False Then ThisWorkbook.SaveAs fichier

bonne soirée
@+

Edition bonsoir Skoobi
 
Re : Enregistrement d'un fichier - choix de l'emplacement par l'utilisateur

Bonjour,

J'ai testé la solution de Pierrot93, mais cela ne me donne pas exactement ce que je souhaite : j'ai besoin d'un fichier texte avec séparateur : tabulation.

Au départ, je faisais :
Code:
ActiveWorkbook.Save
    ActiveWorkbook.SaveAs Filename:="D:\SugarCRM\Adresses erronées Outlook_macro.txt", _
        FileFormat:=xlText, CreateBackup:=False
et là j'avais bien un fichier au format texte (séparateur : tabulation).

Par contre, avec la solution de Pierrot93, j'ai bien un fichier texte, mais pas avec séparateur tabulation, donc mon fichier est illisible :
Code:
'Enregistre le fichier (.xls)
ActiveWorkbook.Save

'Enregistre le fichier (.txt)
Dim fichier As Variant
fichier = Application.GetSaveAsFilename("Adresses erronées Outlook_macro", "(*.txt), *.txt")
If fichier <> False Then ThisWorkbook.SaveAs fichier

Savez-vous comment adapter ce code ?

Merci de votre aide.😱
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…