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.]
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
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.
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