Enregistrer Sous avec titre proposé et Exit Sub si annulé

Bonjour tout le monde,

Je coince sur la boite de dialogue Enregistrer Sous.

J'arrive à ouvrir la boite de dialogue avec une proposition de titre par rapport à une cellule :

titre = Range("C3") & ".xlsm"
Application.Dialogs(xlDialogSaveAs).Show titre

J'arrive à faire sortir de la macro si on clique sur Annuler :

If Application.Dialogs(xlDialogSaveAs).Show = False Then Exit Sub

Mais je n'arrive pas à faire les 2, je pensais qu'écrire cela serait bon mais non...

If Application.Dialogs(xlDialogSaveAs).Show titre = False Then Exit Sub

Bonjour Nefisto, bonjour le forum,

Peut-être comme ça :

Sub Macro1()
Dim FD As FileDialog
titre = Range("C3").Value & ".xlsm"
If titre = ".xlsm" Then Exit Sub
Set FD = Application.FileDialog(msoFileDialogSaveAs)
FD.InitialFileName = titre
FD.Show
If FD.SelectedItems.Count = 0 Then Exit Sub
MsgBox "Coucou" 'juste pour le test si tu enregistres
End Sub

Merci pour ta réponse rapide mais quand je clique sur le bouton Enregistrer de la fenêtre ça n'enregistre pas et le message Coucou apparait correctement

bonsoir,

essayer ce code :

Sub enregistrer_sous()
    Dim titre As String, nom_fichier As String

    titre = Range("C3")
    With Application.FileDialog(msoFileDialogSaveAs)
        .InitialFileName = titre
        .FilterIndex = 2
        If .Show = 0 Then MsgBox "opération annulée": Exit Sub
        nom_fichier = .SelectedItems(1)
    End With

End Sub

Bonjour le fil, bonjour le forum,

Merci pour ta réponse rapide mais quand je clique sur le bouton Enregistrer de la fenêtre ça n'enregistre pas et le message Coucou apparait correctement

En effet il manquait une ligne a mon code :

Sub Macro1()
Dim FD As FileDialog
titre = Range("C3").Value & ".xlsm"
If titre = ".xlsm" Then Exit Sub
Set FD = Application.FileDialog(msoFileDialogSaveAs)
FD.InitialFileName = titre
FD.Show
If FD.SelectedItems.Count = 0 Then Exit Sub
FD.Execute
MsgBox "Coucou" 'juste pour le test si tu enregistres
End Sub

Ah parfait ça fonctionne, merci ThauThème.

Du coup cette ligne manque aussi dans la solution de thev car ça fait exactement la même chose, cliquer sur enregistrer n'enregistre pas.

Du coup cette ligne manque aussi dans la solution de thev

Exact. Il manque l'exécution.

Sub enregistrer_sous()
    Dim titre As String, nom_fichier As String

    titre = Range("C3")
    With Application.FileDialog(msoFileDialogSaveAs)
        .InitialFileName = titre
        .FilterIndex = 2
        If .Show = 0 Then MsgBox "opération annulée": Exit Sub
        .Execute
    End With

End Sub
Rechercher des sujets similaires à "enregistrer titre propose exit sub annule"