VBA Enregistrer sous avec un nom de fichier par défaut

MarcoVal

XLDnaute Nouveau
Bonjour,

Je désirerai lorsque la boîte de dialogue "enregistrer sous" apparaît, mettre comme nom de fichier, un nom composé de plusieurs variables.

ChDir ("C:\X")

W = Range("K1")
X = Range("K3")


'je désirerai mettre le nom W et X comme nom de fichier par défaut
Application.Dialogs(xlDialogSaveAs).Show


Comment procéder ?

Merci de votre aide

MS
 

tirex28

XLDnaute Occasionnel
Re : VBA Enregistrer sous avec un nom de fichier par défaut

Bonjour,

Code:
Sub EnregistrerSous()

    Dim NomFichier, x As String, w As String, NomDefaut As String
    
    x = ThisWorkbook.Name
    w = " " & Format(Date, "dd mm yyyy")
    
    NomDefaut = x & w
    
    NomFichier = Application.GetSaveAsFilename(NomDefaut, "Microsoft Excel (*.xls), *.xls")
    
    If NomFichier = False Then
        MsgBox "Enregistrement annulé."
    Else
        MsgBox NomFichier
    End If

End Sub

Cordialement,

Tirex28/
 

Catrice

XLDnaute Barbatruc
Re : VBA Enregistrer sous avec un nom de fichier par défaut

Bonjour,

en utilisant xlDialogSaveAs ça peut donner :

Sub test()
MyDir = "C:\"
W = "DebutNom" 'peut correspondre au contenu d'une cellule
X = "FinNom" 'peut correspondre au contenu d'une cellule
Application.Dialogs(xlDialogSaveAs).Show MyDir & W & X
End Sub

Le fait d'écrire le chemin du fichier dans le parametre document_text permet de se placer dans le dossier souhaité.



Les parametres de xlDialogSaveAs sont :
document_text, type_num, prot_pwd, backup, write_res_pwd, read_only_rec
 

bouclesdor

XLDnaute Occasionnel
Re : VBA Enregistrer sous avec un nom de fichier par défaut

Bonjour à tous je sais cette discussion remonte à 2007 mais j'essaie de faire fonctionner ce code sur mon fichier et le code fonctionne bien j'ai le boite de dialog "save as" j'ai le text message qui m'indique que ça été enregistrer mais en réalité il ne l'ai pas.

Pourquoi?

J'ai aussi tester des codes plus simple et ça n'enregistre pas mes fichiers
Exemple:
'Dim fd As FileDialog
'Set fd = Application.FileDialog(msoFileDialogSaveAs)
'With fd
'.InitialFileName = "XXX.xlsm"
'.FilterIndex = 2
'If .Show - cancel_pressed Then
'Else
'.Execute
'End If
'End With
'Set fd = Nothing

Merci à l'avance,

bouclesdor
 

Discussions similaires

Statistiques des forums

Discussions
312 845
Messages
2 092 767
Membres
105 529
dernier inscrit
StarExcel