[VBA] SaveAs sur un modèle Excel

Salutation le forum,

Avec une macro VBA j'ouvre un autre classeur type, y insert des données puis sauvegarde sous en laissant l'utilisateur choisir le fichier de destination (voir code) ceci marchais parfaitement mais lorsque j'ai changé mon classeur type (.xlsm) pour un modèle Excel (.xltm) le code ne fonctionnais plus.

Message d'erreur sur la ligne "rapportrc.SaveAs fichier"

image

J'ai alors changé .xlsm pour .xltm dans le code mais ça ne fonctionne pas. (même msg d'erreur)

monfichier = "Rapport de Contrôle SCAN " & drawing & " " & BX
fichier = Application.GetSaveAsFilename(monfichier, fileFilter:="Excel Files (*.xltm), *.xltm")
If fichier <> False Then rapportrc.SaveAs fichier

Par avance merci de votre aide.

Salut Gabin,

Je n'ai aucune certitude mais tu peux essayer de renseigner l'argument du paramètre FileFormat de la méthode Saveas :

monfichier = "Rapport de Contrôle SCAN " & drawing & " " & BX
fichier = Application.GetSaveAsFilename(monfichier, fileFilter:="Excel Files (*.xltm), *.xltm")
If fichier <> False Then rapportrc.SaveAs fichier, xlOpenXMLTemplateMacroEnabled

Ici, tu as un peu de documentation sur la méthode saveas : https://docs.microsoft.com/fr-fr/office/vba/api/excel.workbook.saveas et là tu as l'énumération de formats de fichier : https://docs.microsoft.com/fr-fr/office/vba/api/excel.xlfileformat

Cdlt,

Bonjour,
Tu ouvres un modèle Excel (xltm).
Tu travailles sur le classeur crée et ensuite tu veux l'enregistrer sous.
Me trompe je ?
Tu dois alors enregistrer ton nouveau classeur en xlsx ou en xlsm.
Cdlt.

Bonjour messieurs,

J'ai mis vos deux réponses dans le mixeur et j'ai obtenue cela:

monfichier = "Rapport de Contrôle SCAN " & drawing & " " & BX
fichier = Application.GetSaveAsFilename(monfichier, fileFilter:="Excel Files (*.xlsm), *.xlsm")
If fichier <> False Then rapportrc.SaveAs fichier, xlOpenXMLWorkbookMacroEnabled

Le code fonctionne parfaitement merci !

Bonne journée !

Rechercher des sujets similaires à "vba saveas modele"