Bonjour le forum
voici mon code

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
Worksheets("Selection").Copy                'copier l'onglet selection dans un nv fichier
ActiveWorkbook.Application.Dialogs(xlDialogSaveAs).Show nouveau_fichier 'enregistrer-sous ce fichier, avec boite de dialogue Excel
                                                                        'nouveau_fichier = chemin+nomfichier+.xlsx
 
'supprimer le code de la feuille
With ActiveWorkbook.VBProject.VBComponents _
            (ActiveWorkbook.Sheets("Selection").CodeName).CodeModule
            .DeleteLines 1, .CountOfLines
            .CodePane.Window.Close
        End With
 
'purger la feuille des cellules en trop
'...
'....
 
 
        'enregistrer le fichier
        ActiveWorkbook.Save
Je copie la feuille d'un fichier existant dans un fichier tout neuf. La feuille d'origine porte un code (Worksheet_change, worksheet_selectionchange...).
Bien que j'enregistre mon nouveau fichier en .xlsx (donc sans macro??) ma nouvelle feuille porte encore son code. Qui me bloque pour la suite.
J'ai essayé plusieurs méthodes pour supprimer ce code, dont celle ci dessus, mais à chaque fois ça bloque, avec messages d'erreur divers et variés.

Quelqu'un aurait une piste?

Nota : je tiens à passer par la fenêtre de dialogue "enregistrement" pour pouvoir gérer le nom du fichier, le chemin, au cas où celui donner par la macro ne convienne pas à l'utilisateur.

Merci d'avance
Benoit