Bonjour,
Pourquoi lorsque je crée un classeur à partir d' un modèle .xltm (donc avec des macros), Excel ne propose pas de l'enregistrer directement en .xlsm ?

Y a-t-il un un autre remède que via Workbook_BeforeSave?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    If verrouEvent <> 1 Then
        modifie = True
 
              s_Ext = Right(ThisWorkbook.Name, Len(ThisWorkbook.Name) - InStrRev(ThisWorkbook.Name, ".") + 1)
 
        If Not s_Ext Like ".xl*" Then
            Dim fName
            Do
 
                fName = Application.GetSaveAsFilename(InitialFileName:=ThisWorkbook.Name & ".xlsm", _
                                                      filefilter:="Classeur Excel(prenant en charge les macros)(*.xlsm),*.xlm")
 
            Loop Until fName <> False
            verrouEvent = 1
 
                ActiveWorkbook.SaveAs Filename:=fName, FileFormat:=52
 
            verrouEvent = 0
            cancel= True
        End If
    End If
 
    End If
End Sub