Bonjour tout le monde,
J’ai un petit problème… alors je vous explique, j’ai une feuille d’un classeur que je sauvegarde dans un nouveau classeur, jusque la tout va bien. Cette feuille que je cherche a sauvegardé contient des macros vba, j’ai donc mis en place lors de la sauvegarde une petite macro pour supprimer l’ensemble des les lignes de code (vba) pour la feuille elle-même et pour le Thisworkbook du nouveau classeur (pour virer le option explicit qu’il met de base). J’ai vérifié lorsque je lance le nouveau classeur celui ne contient aucune ligne de code aucun module mais il me demande toujours quand je lance le fichier si je veux activer ou non les macros…
Chose encore plus étrange je lance le fichier j’active ou non les macros je fais un simple ctrl+s je ferme et revoure le fichier, et la ô miracle je n’ai plus la fenêtre d’activation des macros alors que j ai fait une simple sauvegarde du fichier plus une réouverture…
Je vous mets mon code de suppression des lignes et de sauvegarde mais je vous avous que je ne comprends pas trop.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 'Sauvegarde de ma feuille dans un nouveau classeur Sub sav() sheetend = ActiveSheet.Name classeur = ThisWorkbook.Name Worksheets(sheetend).Copy If Application.Dialogs(xlDialogSaveAs).Show = False Then ActiveWorkbook.Close False Windows(classeur).Activate Exit Sub End If Call EffaceCodeObjet Windows(classeur).Activate End Sub 'Je nettoie le nouveau classeur de toutes macro et je le sauvegarde Sub EffaceCodeObjet() On Error GoTo ErrHandle With ActiveWorkbook.VBProject.VBComponents(sheetend).CodeModule .DeleteLines 1, .CountOfLines End With With ActiveWorkbook.VBProject.VBComponents("ThisWorkbook").CodeModule .DeleteLines 1, .CountOfLines End With Worksheets(sheetend).Shapes("bt_new_calc").Delete Worksheets(sheetend).Shapes("bt_sav").Delete ActiveWorkbook.Close True Exit Sub ErrHandle: MsgBox "ERREUR dans la suppression du code du Module", vbOKOnly + vbCritical End Sub
Partager