VBA - Choisir sur l'ordinateur dans quel endroit sauvegarder un fichier

jeremie78420

XLDnaute Nouveau
Bonjour à tous,
Voici ma situation :

- J'ai crée une macro simple pour enregistrer dans un fichier excel à part une feuille de mon classeur.
Voici le code (simplifié) que j'utilise pour cela :

Code:
' Je rends la feuille que je veux enregistrer en .xlsx visible
Sheets("Mafeuille").Visible = True

' Si des filtres sont activés sur cette feuille, je les enlève
If ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
End If

' Je sauvegarde cette feuille dans un nouveau fichier .xlsx auquel j'ajoute la date
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:="Ma feuille - " + VBA.Strings.Format(Now, "mmddyyyy") + ".xlsx"
ActiveWorkbook.Close
Sheets("Mafeuille").Visible = False

'Message de fin
MsgBox ("File has been save in the same directory as the Report")


En cherchant sur Internet, j'ai trouvé la commande
Code:
Application.Dialogs(xlDialogSaveAs).Show
, qui fonctionne si je la mets dans mon code, mais je souhaiterais alors intégrer comme nom par défaut le même que dans mon code "Ma feuille + Date + xlsx", ce que je n'arrive pas à faire pour le moment
Comment réaliser ceci ?

Existe-t-il une méthode simple pour cela ? Est-ce possible ?

Merci par avance
Jérémie
Code:
 
Dernière édition:

GIBI

XLDnaute Impliqué
Re : VBA - Choisir sur l'ordinateur dans quel endroit sauvegarder un fichier

Bonjour,

si tu vas voir dans le Help tu trouveras les arguments

pour mettre un nom par défaut il suffit de l'ajouter en argument

Application.Dialogs(xlDialogSaveAs).Show "toto"
 

jeremie78420

XLDnaute Nouveau
Re : VBA - Choisir sur l'ordinateur dans quel endroit sauvegarder un fichier

Merci, c'est la solution parfaite et la plus rapide à éxécuter.
Pour ceux qui sont intéressés, voici le code complet


Code:
' Je rends la feuille que je veux enregistrer en .xlsx visible
Sheets("Mafeuille").Visible = True

' Si des filtres sont activés sur cette feuille, je les enlève
If ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
End If

' Je sauvegarde cette feuille dans un nouveau fichier .xlsx auquel j'ajoute la date
ActiveSheet.Copy
Application.Dialogs(xlDialogSaveAs).Show "Ma feuille - " + VBA.Strings.Format(Now, "mmddyyyy") + ".xlsx"
ActiveWorkbook.Close
Sheets("Mafeuille").Visible = False

'Message de fin
MsgBox ("File has been saved")
 

Discussions similaires

Statistiques des forums

Discussions
312 490
Messages
2 088 881
Membres
103 981
dernier inscrit
vinsalcatraz