sauvegarder une copie du fichier sans les macros

  • Initiateur de la discussion clo
  • Date de début
C

clo

Guest
bonjour,
je voudrais sauvegarder une copie de mon classeur mais sans enregistrer les macros qu'il contient, pour ne pas les avoir à l'ouverture de la copie.
ex: j'ai un classeur avec une workbook open, et je voudrais enregistrer ce classeur avec pour nom la date du jour mais pas enregistrer la macro workbook open de manière à pouvoir ouvrir la copie en lecture seule sans les macros.
 

Creepy

XLDnaute Accro
Bonjour le Forum, Clo

Voici une macro que j'ai faite et qui efface le contenu de Workbook_open et qui me lance la sauvegarde. A copier dans un bouton sur la feuille :

Private Sub BtnSAve_Click()

Dim Debut As Integer, Lignes As Integer
On
Error GoTo Suite
With ThisWorkbook.VBProject.VBComponents('ThisWorkbook').codemodule
  Debut = .ProcStartLine('Workbook_Open', 0)
  Lignes = .ProcCountLines('Workbook_Open', 0)
  .DeleteLines Debut, Lignes
End
With

Suite:
If ActiveWorkbook.Path = '' Then GoTo Original
On
Error GoTo Sortir
Application.EnableEvents =
False
ChDrive Left(ActiveWorkbook.Path, 1)
ChDir ActiveWorkbook.Path

Original:
Sauvegarde = Application.GetSaveAsFilename('c:\\' _
& ActiveWorkbook.Name, fileFilter:='Classeur Excel (*.xls), *.xls', Title:='Macros EXCEL - Sauvegarder le fichier courant')
If Sauvegarde = False Then Exit Sub
ActiveWorkbook.SaveAs Filename:=Sauvegarde, FileFormat:=xlWorkbookNormal, CreateBackup:=False, AddToMru:=True

Sortir:
Application.StatusBar =
False
Application.EnableEvents =
True

End Sub


Par contre pour eviter les sauvegardes 'normales' qui n'effacerait pas le code il faut que tu places ceci aussi :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel =
True
MsgBox 'Veuillez sauvegarder avec le bouton dans la Feuille' & vbCrLf & 'pour eviter de perdre vos données', vbCritical + vbOKOnly, 'Non ...'
End Sub


Ca empeche la sauvegarde classique.

++

Creepy

Message édité par: Creepy, à: 06/06/2005 16:52
 

Discussions similaires

Statistiques des forums

Discussions
312 195
Messages
2 086 078
Membres
103 111
dernier inscrit
Eric68350