Enregistrement VBA

Bonjour,

Je souhaite que mon code ouvre la fenêtre "Enregistrer sous" et propose un nom de fichier par défaut qui correspond à la valeur de la cellule A1. Cependant je ne souhaite pas proposer de chemin d'enregistrement.

Malgré plusieurs essais je n'y parviens pas... Auriez-vous une idée?

Merci par avance,

Bonjour Romain, bonjour le forum,

Essaie comme ça :

Sub Macro1()
Dim O As Worksheet 'déclare la variabe O (Onglet)
Dim NF As String 'déclare la variable NF (Nom Fichier)
Dim BES As FileDialog 'déclare la variable BES (Boîte Enregistrer Sous)

Set O = Worksheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
NF = O.Range("A1").Value 'définit le nom du fichier OF
If NF = "" Then Exit Sub 'si NF est vide, sort de la procédure
Set BES = Application.FileDialog(msoFileDialogSaveAs) 'définit la boîte de dialogue BES
BES.AllowMultiSelect = False 'n'autorise qu'une seule sélection
BES.InitialFileName = NF 'nom par défaut
BES.Show 'affiche la boîte
BES.Execute 'valide l'enregistrement
End Sub

Bonjour à tous,

une autre version:

Private Sub  romain()
Dim WB As Workbook
Set WB = ThisWorkbook
Sauvegarde = Application.GetSaveAsFilename(WB.Worksheets("Feuil1").Range("A1").Value, fileFilter:="Classeur Excel (*.xlsm), *.xlsm")
If Sauvegarde <> False Then WB.SaveAs Filename:=Sauvegarde
End Sub

Adapter WB.Worksheets("Feuil1").Range("A1").Value à la feuille utilisée .

A+

Bonjour à tous les deux,

Vos deux versions fonctionnent parfaitement.

Merci beaucoup !

Rechercher des sujets similaires à "enregistrement vba"