enregistrement

G

germain

Guest
Bonjour,
Voila mon probleme jai cree un fichier excel qui me sert a passer des commandes a des fournisseurs.
Ce fichier comporte des macros des userform etc...
Ce fichier contient aussi des boutons pour lancer les macros.
Quand jenregistre une commande il me laisse toutes mes macros mes boutons etc..
Comment faire pour que quand jenregistre une commande elle senregistre sans mes macros et mes boutons sans modifié le fichier principal.
Car javais realiser une macro qui meffecait tout mais elle mefacait tout mon logiciel en meme temps.
Le but c'est denregistrer un fichier qui soit le plus petit possible ( 15ko par ex) sans toucher a mon fichier de depart qui lui fait (350ko).
 
M

michel

Guest
bonsoir Germain

tu peux tester la procedure ci dessous
une copie du fichier est enregistrée , l'ensemble des objets de toutes les feuilles sont supprimées , ainsi que les macros , userforms ...


Sub SupprimVBAetObjets()
Dim i As Byte
Dim Obj As Object
Dim VbComp As Object

ThisWorkbook.SaveAs "D:\dossier\general\excel\test.xls" ' créée nouveau fichier (à redéfinir selon projet)

For i = 1 To Sheets.Count 'boucles sur toutes les feuilles du classeur
For Each Obj In ActiveWorkbook.Sheets(i).DrawingObjects
Obj.Delete ' suppression des boutons , checkboxs..etc ...
Next Obj
Next i

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

bonne soirée
michel
lapin4.gif
 

Discussions similaires

Statistiques des forums

Discussions
312 856
Messages
2 092 858
Membres
105 544
dernier inscrit
Eden90