Enregistrer copie modèle en xlsm

Le
martine.leport
Bonjour,
J'ai un modèle excel avec macro enregistré en .xltm, lorsque j'ou=
vre ce modèle un nouveau fichier est créé et j'aimerais lors=
du lancement d'une macro que ce fichier s'enregistre en xlsm et non en xls=
x.
J'ai essayé cela mais :

Dat = Day(Date) & "-" & Month(Date) & "-" & Year(Date)
nomfichier = "C:UserstotoDesktopFichier pointage magasin " & Dat & ".=
xlsm"
ThisWorkbook.SaveCopyAs nomfichier

ou
ActiveWorkbook.SaveAs Filename:=nomfichier

Cela ne fonctionne pas


Merci à vous
Caroual
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
News.aioe.org
Le #26423921
Bonjour,
Sous Windows 2016,
Ceci fonctionne très bien. J'ai testé l'enregistrement
aussi sur mon bureau, Tout est Ok.
Quel est le mesage d'erreur?
'--------------------------------------------------
Private Sub Workbook_Open()
Dim Dat As Date, NomFichier As String
Dat = Day(Date) & "-" & Month(Date) & "-" & Year(Date)
'NomFichier = "C:UserstotoDesktopFichier pointage magasin " & Dat &
".xlsm"
'Pour les besoins de mon test, c'était mon chemin!
NomFichier = "C:UsersmichdDesktopFichier pointage magasin " & Dat &
".xlsm"
ThisWorkbook.SaveCopyAs Filename:=NomFichier
End Sub
'--------------------------------------------------
MichD
News.aioe.org
Le #26423922
Bonjour,
Si tu utilises la méthode "SaveAs", tu dois obligatoirement
utiliser le paramètre FileFormat.
La ligne de commande devient :
ActiveWorkbook.SaveAs Filename:=nomfichier, FileFormat:R
52 c'est la valeur numérique de cette constante :
xlOpenXMLWorkbookMacroEnabled
Tu peux regarder dans l'aide-VBA d'Excel ou tu peux déclarer une variable
comme suit :
Immédiatement après avoir écrit le symbole "=", tu as une liste déroulante
qui apparait et tu peux choisir le type de format que tu désires.
Évidemment, cela est placé au début de la procédure.
Dim X As XlFileFormat
X = xlOpenXMLWorkbookMacroEnabled
La problématique avec SaveCopyAs, elle n'a pas de paramètre "FileFormat". On
utilise habituellement dans un fichier déjà enregistré qui est en mémoire
vive et dont on désire en faire une copie. Le type de fichier est alors déjà
connu d'Excel.
MichD
News.aioe.org
Le #26423925
Je ne recommande pas cette approche bien que je
n'ai pas un message d'erreur sur l'exécution de la macro.
Le fichier créé n'a pas d'extension et pour l'ouvrir
du devras utiliser la commande "ouvrir avec" et rechercher
dans la liste l'exécutable Excel.exe. Au moment d'ouvrir,
tu auras probablement un message sur la sécurité du fichier.
Je n'ai pas de fait un test explicite pour savoir si le format de
fichier par défaut dans les options d'Excel - Enregistrement
(choix du type de fichier par défaut) à un effet sur le format
qu'Excel utilisera.
Tu es mieux avec l'autre message sur le sujet.
MichD
martine.leport
Le #26423984
Le mardi 17 janvier 2017 17:39:32 UTC+1, News.aioe.org a écrit :
Bonjour,
Si tu utilises la méthode "SaveAs", tu dois obligatoirement
utiliser le paramètre FileFormat.
La ligne de commande devient :
ActiveWorkbook.SaveAs Filename:=nomfichier, FileFormat:R
52 c'est la valeur numérique de cette constante :
xlOpenXMLWorkbookMacroEnabled
Tu peux regarder dans l'aide-VBA d'Excel ou tu peux déclarer une var iable
comme suit :
Immédiatement après avoir écrit le symbole "=", tu as un e liste déroulante
qui apparait et tu peux choisir le type de format que tu désires.
Évidemment, cela est placé au début de la procédure.
Dim X As XlFileFormat
X = xlOpenXMLWorkbookMacroEnabled
La problématique avec SaveCopyAs, elle n'a pas de paramètre "Fi leFormat". On
utilise habituellement dans un fichier déjà enregistré qui est en mémoire
vive et dont on désire en faire une copie. Le type de fichier est al ors déjà
connu d'Excel.
MichD

Merci beaucoup avec l'ajout de FileFormat:R cela fonctionne très bien
Top
Caroual
Publicité
Poster une réponse
Anonyme