Enregistrer sous forcer extension

Bonjour,

je cherche à forcer l'extension d'un fichier en .xlsm lors de l'enregistrement (y compris lorsque l'utilisateur va cliquer sur "enregistrer sous"), de sorte qu'un utilisateur puisse modifier le nom du fichier, mais ne pas supprimer les macros qui accompagnent le fichier. Je précise que le fichier sera utilisé par des personnes ne maitrisant pas du tout les macros.

Merci d'avance pour votre aide

Damien

Bonjour,

Depuis les Options Avancées / Enregistrement

Dans Enregistrer les fichiers au format suivant, choisir dans le déroulant le type voulu

Bonjour,

merci M12 pour cette proposition.

A priori, cela permet d'enregistrer par défaut un nouveau classeur en .xlsm

Ce que je cherche, c'est à empêcher l'utilisateur de modifier l'extension d'un classeur qui sera déjà en .xlsm. Je voudrais donc qu'il n'ait plus la possibilité de modifier l'extension dans la boite de dialogue "enregistrer sous" pour ne pas qu'il perde involontairement les macros qui sont dans le fichier.

Merci d'avance

Bonjour,

Ce n'est pas possible en utilisant la boîte de dialogue standard. La seule solution est de créer un formulaire UserForm1 demandant le nom du fichier à enregistrer et d'ajouter ce code dans ThisWorkBook

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

    Cancel = True
    UserForm1.Show  'formulaire demandant le nom du fichier avec textbox = nom
     nom_fichier = ThisWorkbook.Path & "\" & nom.Value
    Application.EnableEvents = False
    ThisWorkbook.SaveAs nom_fichier, xlOpenXMLWorkbookMacroEnabled
    Application.EnableEvents = True

End Sub
Rechercher des sujets similaires à "enregistrer forcer extension"