Bonjour,
est-il possible par la commande
de n'enregistrer dans un nouveau fichier que le classeur sans code vb ni macro ? ou alors supprimer par une ligne de code l'ensemble du code vbCode:
1
2 workbooks("*****.xls").saveas
Merci
Version imprimable
Bonjour,
est-il possible par la commande
de n'enregistrer dans un nouveau fichier que le classeur sans code vb ni macro ? ou alors supprimer par une ligne de code l'ensemble du code vbCode:
1
2 workbooks("*****.xls").saveas
Merci
Bonjour,
Le mieux (et le plus simple) est de déplacer ou copier les feuilles dans un nouveau classeur et de l'enregistrer.
Argy
Il existe effectivement un code pour effacer tes macros mais ce code restera dans le fichier sauvegardé. La solution de argyronet serait sans aucun doute meilleure mais je crois avoir vu passer une solution (il y a plusieurs mois :cry: ) qui permet de le faire. Ne désespère pas.
A+
J'ai déjà retrouvé ça pour effacer un module
A MANIPULER AVEC PRÉCAUTION !Code:
1
2
3
4
5 Sub SupprimerModule(ModuleName As String) 'With Workbooks(NomFichierEnregistréSous.VBProject '.VBComponents.Remove .VBComponents(ModuleName) 'End With End Sub
Placé dans perso, tu peux "EnregistrerSous NomFichierEnregistréSous" puis supprimer le/les module(s) de ce fichier.
Si tu veux utiliser cette méthode, fais des essais sous une copie de Perso.xls avec des fichiers créés pour l'occasion.
Si vraiment la solution argyronet te pose des pb...
A+
A+
Bonsoir,
Essaie ce code pour enregisrer un classeur sans les macros
jpleroisseCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Sub SupprimeToutVBA() Dim VbComp As Object ThisWorkbook.SaveAs "D:\dossier\general\excel\test.xls" For Each VbComp In ActiveWorkbook.VBProject.VBComponents ' 'suppression vba Select Case VbComp.Type Case 1 To 3 ActiveWorkbook.VBProject.VBComponents.Remove VbComp Case Else With VbComp.CodeModule .DeleteLines 1, .CountOfLines End With End Select Next VbComp ActiveWorkbook.Save ' enregistre les suppressions End Sub
Hello leroissejp,
Intéressant ton code. Tu le places où ? Est-il supprimé par la même occasion ?
A+
Bonsoir, ouskel'n'or
Je place le code dans un module, ensuite
Dans le module, après ActiveWorkBook.Save tu rajoute ActiveWorkBook.CloseCode:
1
2
3
4 Private Sub CommandButton1_Click() SupprimeToutVBA End Sub
jpleroisse
Hello, leroissejp, et merci
Je garde ça en réserve.
A+