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

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 :)
 

skoobi

XLDnaute Barbatruc
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
 

Pierrot93

XLDnaute Barbatruc
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
 

TestSugar1

XLDnaute Nouveau
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.:eek:
 

Discussions similaires

Réponses
11
Affichages
588

Membres actuellement en ligne

Statistiques des forums

Discussions
312 836
Messages
2 092 653
Membres
105 479
dernier inscrit
chaussadas.renaud