Fermeture automatique d'un fichier Excel en xlsm

jbdubreuil

XLDnaute Occasionnel
Bonjour,

J'utilise un fichier excel avec une macro qui fonctionne très bien.
Seul hic, les personnes qui utilisent ce fichier n'enregistrent pas toujours en .xlsm et du coup, on perd à chaque fois la macro (il y a de quoi devenir fou parfois avec excel...)

Est il possible de mettre une macro automatique à la fermeture du fichier pour enregistrer en .xlsm
Attention: je ne sais pas:
- ou les personnes enregistrent le fichier...
- le nom du fichier qui peut changer...

J'ai trouvé un code très bien fait et très simple, mais il faudrait l'adapter car il intègre le chemin et le nom du fichier.
Je souhaite simplement conserver l'extension.

Merci par avance !
jb


Sub sauvegarder()
Dim extension As String
Dim chemin As String,
Dim nomfichier As String

extension = ".xlsm"
chemin = "C:\Users\Greg\Documents\"
nomfichier = ActiveSheet.Range("A6") & extension

With ActiveWorkbooK
.SaveAs Filename:=chemin & nomfichier, FileFormat:= xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

End With

End Sub
 

pierrejean

XLDnaute Barbatruc
Re : Fermeture automatique d'un fichier Excel en xlsm

Bonjour jbdubreuil

A défaut d'enregistrement automatique : une macro qui empêchera la fermeture si le type n'est pas le bon

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Right(ThisWorkbook.FullName, 4) <> "xlsm" Then
  Cancel = True
  MsgBox ("Impossible de fermer: Il faut Enregistrer sous xlsm !!")
End If
End Sub
 

Discussions similaires

Réponses
14
Affichages
436
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 393
Messages
2 088 009
Membres
103 699
dernier inscrit
samSam31