Enregistrer sans les macros

Est-il possible depuis VBA d'enregistrer un fichier sous un autre nom (save as) sans les modules de macros qui lui sont éventuellement attachés.

Une solution VBA :

sub SaveAsWithoutMacros()
 Dim NomSource$, CheminDest$, NomDest$
 Dim VBC As Object
 
 NomSource = "EssaiSaveAs.xls"  'à adapter
 CheminDest = "C:\WindowsTemp" 'à adapter
 NomDest = "Essai.xls"      'à adapter
 
 Workbooks(NomSource).SaveAs CheminDest & NomDest
 
 With ActiveWorkbook.VBProject
 'cette partie du code est de Laurent Longre
  For Each VBC In .VBComponents
   If VBC.Type = 100 Then
    With VBC.CodeModule
     .DeleteLines 1, .CountOfLines
     .CodePane.Window.Close
    End With
   Else: .VBComponents.Remove VBC
   End If
  Next VBC 'LL
 End With
 
 Application.Quit
 SendKeys "%O"
 
 end sub

Auteurs : ,

Mots clefs associés à cette page : , ,