A voir également:
- Supprimer macro excel
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Supprimer liste déroulante excel - Guide
- Supprimer une page word - Guide
- Supprimer compte instagram - Guide
- Si et excel - Guide
9 réponses
J'ai trouvé la macro qui suit sur excelabo:
"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
bon mais je n'arrive pas vraiment à l'utiliser, je dois l'intégrer dans un module ou je peux l'insérer dans ma macro worbook_open?
"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
bon mais je n'arrive pas vraiment à l'utiliser, je dois l'intégrer dans un module ou je peux l'insérer dans ma macro worbook_open?
DaNot
Messages postés
221
Date d'inscription
mardi 30 septembre 2003
Statut
Membre
Dernière intervention
4 novembre 2005
163
12 mai 2004 à 16:41
12 mai 2004 à 16:41
Salut,
Dans ce cas, il faut enregistrer la macro dans le "classeur de macros personnelles". Il s'appelle généralement PERSO.XLS.
Ensuite, la macro ne sera plus attachée à ton fichier sauvegardé...
DaNot
un Libre ouvert à la source...
Dans ce cas, il faut enregistrer la macro dans le "classeur de macros personnelles". Il s'appelle généralement PERSO.XLS.
Ensuite, la macro ne sera plus attachée à ton fichier sauvegardé...
DaNot
un Libre ouvert à la source...
DaNot
Messages postés
221
Date d'inscription
mardi 30 septembre 2003
Statut
Membre
Dernière intervention
4 novembre 2005
163
12 mai 2004 à 16:46
12 mai 2004 à 16:46
Oui, ca reste possible : après avoir enregistrer ton fichier avec le nouveau nom, tu ouvres l'éditeur Visual Basic et tu supprimes toutes les macros du fichier dans les feuilles & les modules. Tu enregistres à nouveau et ton fichier ne contient plus de macros...
DaNot
un Libre ouvert à la source...
DaNot
un Libre ouvert à la source...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
DaNot
Messages postés
221
Date d'inscription
mardi 30 septembre 2003
Statut
Membre
Dernière intervention
4 novembre 2005
163
12 mai 2004 à 17:18
12 mai 2004 à 17:18
Non, ce n'est pas possible de le faire otomaticamente !
Pourquoi tu ne veux pas enregistrer les macros ? parce que tu ne veux les diffuser ? Il y a aussi la solution du mot de passe sur le projet VBA !?
DaNot
un Libre ouvert à la source...
Pourquoi tu ne veux pas enregistrer les macros ? parce que tu ne veux les diffuser ? Il y a aussi la solution du mot de passe sur le projet VBA !?
DaNot
un Libre ouvert à la source...
dans le fichier renommé il n'y a plus besoin des macros. ce programme permet d'extraire des données d'access et de les mettre en forme sous excel.
d'ailleurs si quelqu'un lance la macro ça va forcément buggé puisque les noms et les variables ne sont plus les mêmes.
je voulais obtenir un fichier excel tout plat pour le diffuser par la suite.
d'ailleurs si quelqu'un lance la macro ça va forcément buggé puisque les noms et les variables ne sont plus les mêmes.
je voulais obtenir un fichier excel tout plat pour le diffuser par la suite.
merci à vous deux pour votre aide mais ça ne veut pas fonctionner, la macro marche très bien, rien ne bug mais la macro existe toujours dans le fichier renommé.
autre chose qui n'est pas précisé (mais que tu trouve facilement si tu regarde l'aide d'excel lorsque le bug arrive)
il faire tools\macro\security
dans la fenetre qui s'ouvre; selectionner le deuxieme onglet
et cocher la case "trust access to visual basic project" (désolé au taff j'ai que la version english d'excel....)
il faire tools\macro\security
dans la fenetre qui s'ouvre; selectionner le deuxieme onglet
et cocher la case "trust access to visual basic project" (désolé au taff j'ai que la version english d'excel....)
12 mai 2004 à 18:59
Pour utiliser ce code, il vous faudra charger une référence
supplémentaire dans VBE.
Sous Excel, appeller l'éditeur :
Alt F11 //Outils/Références…
Cocher l'option :
Microsoft Visual Basic for Applications Extensibility
Lupin