Forcer sauvegarde fichier en .xls afin d'éviter la perte des macros VBA

lucf

XLDnaute Nouveau
Les versions récentes de Excel sauvegardent par défaut un classeur au format XML. Ceci provoque une perte des macros intégrées dans un classeur.

Pour pallier ce problème, je recherche les quelques lignes de codes qui permettent de forcer systématiquement la sauvegarde d'un classeur au format .xls

J'ai utilisé avec un succès mitigé le code ci-après car certaines versions de Excel sur MACINTOSH refusent l'exécution de la fonction GetSaveAsFilename. En revanche cela semble marcher sous Windows.

Je pense que mon code ci-dessous est trop lourd et qu'une solution plus simple existe. Des suggestions ?

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim vaFileName As Variant
SaveAsUI = True

vaFileName = Application.GetSaveAsFilename(ActiveWorkbook.FullName, FileFilter:="Excel Filer (*.xls), *.xls", Title:="Save as...")

If vaFileName = False Then
Cancel = True
Exit Sub
End If
End Sub
 

Pierrot93

XLDnaute Barbatruc
Re : Forcer sauvegarde fichier en .xls afin d'éviter la perte des macros VBA

Bonsoir,

A priori sous 2010, tu peux définir le type d'enregistrement par défaut... Barre de menu Excel => Fichier => enregistrement => liste déroulante "enregistrer les fichiers au format suivant"

bonne soirée
@+
 

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 847
dernier inscrit
Djigbenou