Enregistrer un modèle .xtlm ... sans utiliser le "BeforeSave"
Résolu
Wilhelm_Hort
Messages postés
17
Date d'inscription
Statut
Membre
Dernière intervention
-
Wilhelm_Hort Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
Wilhelm_Hort Messages postés 17 Date d'inscription Statut Membre Dernière intervention -
Mouais ... rien qu'à relire mon titre, ça donne mal au crâne tellement c'est incompréhensible ^^
Bonjour à la communauté CCM ! La colle du jour est :
- pour rédiger des rapports professionnels, j'utilise un modèle en format .xtlm, qui, lorsqu'on le lance, ouvre un autre fichier pour piocher des données, blablabla ... d'où la nécessité d'avoir un template utilisant des macros
- ce modèle peut être lancé tant directement par double-clic, ou via un autre classeur (jusque là, logique)
- je travaille sur la possibilité, lorsqu'on enregistre le fichier crée d'après le dit-modèle, que le nom du fichier soit repris en fonction de la date (format yyymmdd), et là encore, je tiens le bon bout, avec un format .xlsx
Le problème maintenant : c'est le formatage final du dit fichier enregistré. Lorsque je modifie la macro de mon modèle, sur la fonction BeforeSave, et que je souhaite enregistrer les modifications, il me lance toute la procédure ... et ça, c'est pas glop ...
Comment pourrais-je juste enregistrer les macros de mon modèle sans les lancer par la même occasion ?
Voilà où j'en suis :
Pour info, je tourne sur Excel 2010
Bonjour à la communauté CCM ! La colle du jour est :
- pour rédiger des rapports professionnels, j'utilise un modèle en format .xtlm, qui, lorsqu'on le lance, ouvre un autre fichier pour piocher des données, blablabla ... d'où la nécessité d'avoir un template utilisant des macros
- ce modèle peut être lancé tant directement par double-clic, ou via un autre classeur (jusque là, logique)
- je travaille sur la possibilité, lorsqu'on enregistre le fichier crée d'après le dit-modèle, que le nom du fichier soit repris en fonction de la date (format yyymmdd), et là encore, je tiens le bon bout, avec un format .xlsx
Le problème maintenant : c'est le formatage final du dit fichier enregistré. Lorsque je modifie la macro de mon modèle, sur la fonction BeforeSave, et que je souhaite enregistrer les modifications, il me lance toute la procédure ... et ça, c'est pas glop ...
Comment pourrais-je juste enregistrer les macros de mon modèle sans les lancer par la même occasion ?
Voilà où j'en suis :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Récupération de la date du rapport'
Dim daterapport As Date
Dim cheminrapport As Variant
Dim nomrapport As Variant
Sheets("Rapport_quotidien").Activate
daterapport = Range("C8").Value
nomrapport = Format(daterapport, "yyyymmdd") & ".xlsx"
'Détermination du chemin d'enregistrement'
cheminrapport = "C:\Users\xxxxx\Desktop\Rapports journaliers\"
'Enregistrement du fichier'
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs cheminrapport & nomrapport
Application.DisplayAlerts = True
End Sub
Pour info, je tourne sur Excel 2010
A voir également:
- Enregistrer un modèle .xtlm ... sans utiliser le "BeforeSave"
- Audacity enregistrer son pc - Guide
- Utiliser chromecast - Guide
- Modèle organigramme word - Guide
- Comment enregistrer un mail - Guide
- Utiliser iphone comme webcam - Guide
2 réponses
Bonjour,
Changer l'extension ne suffit pas, il faut préciser le format dans le SaveAs
et désactiver les événements pendant le SaveAs
Cordialement
Patrice
Changer l'extension ne suffit pas, il faut préciser le format dans le SaveAs
et désactiver les événements pendant le SaveAs
Cordialement
Patrice
Wilhelm_Hort
Messages postés
17
Date d'inscription
Statut
Membre
Dernière intervention
Justement, je voulais faire un ActiveWorkbook.Save as "nom du fichier", Fileformat:=xlWorkbookDefault ... mais je ne peux pas enregistrer vu que sinon, il me le prend pour le template et non le fichier qui en est ouvert
Re,
Essaies :
Edit : lire xlWorkbookDefault (au lieu de xlWorkbookNormal )
Cordialement
Patrice
Essaies :
'Enregistrement du fichier If ThisWorkbook.Path = "" Then Cancel = True Application.DisplayAlerts = False Application.EnableEvents = False ActiveWorkbook.SaveAs cheminrapport & nomrapport, FileFormat:=xlWorkbookDefault Application.EnableEvents = True Application.DisplayAlerts = True End If
Edit : lire xlWorkbookDefault (au lieu de xlWorkbookNormal )
Cordialement
Patrice