Enregistrement en xlsm

Salut,

Un petit problème pour faire un enregistrement automatique de fichier au format "xlsm"

J'ai un fichier source qui est par exemple - lulu.xlmt

A la fin de l'exécution d'une macro je voudrais pouvoir enregistrer le fichier avec un nouveau nom au format "xlsm"

Voici l'un des codes que j'ai essayer, mais le résultat n'est pas satisfaisant

Sub Enregistrement()

'On demande l'enregistrement du fichier

Dim BoiteEnregistrerSous As Dialog

Set BoiteEnregisterSous = Application.Dialogs(xlDialogSaveAs)

BoiteEnregisterSous.Show

' Nom = InputBox("Donner le nom de votre fichier")

ActiveWorkbook.SaveAs Filename:= _

"Nom.xlsm ", FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

'Filefilter:="Classeur Excel(*.xlsm),*.xlsm")

'ActiveWorkbook.SaveAs FileFormat:="xlsm"

'FileFormat :=xlOpenXMLWorkbookMacroEnabled,".xlsm"

End Sub

Si quelqu'un peut me donner un coup de main

Slt Bepo08,

Voici l'un des codes que j'ai essayer, mais le résultat n'est pas satisfaisant

pouquoi il n'est pas satisfaisant?

essaie comme ca

Sub Enregistrement()

ActiveWorkbook.SaveCopyAs Filename:="C:\Users\...\...\Nom.xlsm" ' ici il faut adapter le chemin

End Sub

Merci de ton aide,

Mais justement je veux laisser le choix du chemin pour l'enregistrement.

Ce qu'il faudrait, c'est que quand j'ouvre la fenêtre d'enregistrement via la boite de dialogue, le choix du format se mette automatiquement en xlsm

Slt Bepo,

ah ok maintenantje comprend!

deuxième test

Sub Enregistrement()
   Dim strName As String

   With ActiveWorkbook
      strName = Application.GetSaveAsFilename(InitialFileName:=.Path & "\" & Format(Date, "dd.mm.yyyy") & "_" & .Name, _
         FileFilter:="Excel Files (*.xlsm), *.xlsm", Title:="Veuillez choisir un dossier")
      If Len(strName) = 0 Or strName = "Falsch" Then
         MsgBox "Annulation - rien n'est sécurisé"
      Else
         .SaveAs Filename:=strName, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
      End If
   End With
End Sub

Bonjour,

C'est presque ca,

Mais quand j'exécute la macro sur un fichier modèle :

a1.xltm

La macro me propose en enregistrement :

"12/04/2019_a1.xltm"

Ce que je cherchais à faire c'est quelle me propose uniquement :

a1

(dans le répertoire d'origine)

et en type de fichier : l'extension xlsm

Encore merci pour votre aide

Slt Bepo,

essaie comme ca:

Sub Enregistrement()
   Dim strName As String

   With ActiveWorkbook
      strName = Application.GetSaveAsFilename(InitialFileName:=.Path & "\" & .Name, _
         FileFilter:="Excel Files (*.xlsm), *.xlsm", Title:="Veuillez choisir un dossier")
      If Len(strName) = 0 Or strName = "Falsch" Then
         MsgBox "Annulation - rien n'est sécurisé"
      Else
         .SaveAs Filename:=strName, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
      End If
   End With
End Sub

Slt,

Cela à l'air de fonctionner, je vais continuer à le testé cette après midi

Mais j'avoue que je ne comprend pas tout.

En particulier le CreateBackup, dont je me demande à quoi il sert

Grand merci

Re,

CreateBackup est facultatif (tu peux l'enlever si tu veux). Mais si tu le changes en True c'est pour créer un fichier de sauvegarde.

Rechercher des sujets similaires à "enregistrement xlsm"