XL 2016 Suppression code dans sheet après copie

senpan

XLDnaute Junior
Bonjour,

Je recherche désespérément une solution pour supprimer le code présent dans une feuille dans le même classeur.
Voici les étapes réalisées :
1. copie de la feuille "Produits & TARIFS"
2. copie renommée en "Plan de tir"

Le hic, c'est que la feuille "Produits & TARIFS" contient un petit bout de code.
Or je ne souhaite pas que celui-ci soit présent dans le feuille "Plan de tir" qui est une copie de "Produits & TARIFS".

Voici le code que j'utilise avec en gras ce qui pose problème :
Sub Plan_de_Tir()
'Création du Plan de tir
Application.ScreenUpdating = False

'Création de la nouvelle feuille avec pour nom "Plan de Tir"
Sheets("Produits & TARIFS").Select
Sheets("Produits & TARIFS").Copy Before:=Sheets(2)
Sheets("Produits & TARIFS (2)").Select
Sheets("Produits & TARIFS (2)").Name = "Plan de tir"

'Suppression des colonnes inutiles
Range("D:E").Delete
Range("G:G").Delete
Range("J:J").Delete
Range("J:J").Delete
Range("J:J").Delete

'Filtrer les données
Range("J4").Select
ActiveSheet.Range("$A$4:$N$1152").AutoFilter Field:=10, Criteria1:="<>" ' ATTENTION = si ajout de ligne : modifier !!!

'Masquer la colonne des filtres
Columns("J:N").Select
Selection.EntireColumn.Hidden = True

'Sélection du tableau et de la zone d'impression
Range("A1").Select
Dim derlg As Integer
derlg = Range("A65536").End(xlUp).Row
ActiveSheet.PageSetup.PrintArea = "$A$1:$I$" & derlg

'Suppression du code VB dans "Plan de tir" après sa création
With Workbooks("Base données & Bon commande Artifice Pyragirc - NF").VBProject.VBComponents("Plan de tir").CodeModule
.DeleteLines 1, .CountOfLines
End With


'Apperçu avant impression
Sheets("Plan de tir").Select
Application.CommandBars.ExecuteMso ("PrintPreviewAndPrint")

'Affiche le UserForm indiquant que le "Plan de tir" est terminé
PLAN.Show

End Sub
 

pierrejean

XLDnaute Barbatruc
Bonjour senpan
A tester:

Remplacer:

Sheets("Produits & TARIFS").Select
Sheets("Produits & TARIFS").Copy Before:=Sheets(2)
Sheets("Produits & TARIFS (2)").Select
Sheets("Produits & TARIFS (2)").Name = "Plan de tir"
Sheets.Add.Name = "Plan de tir"

Par

Sheets.Add.Name = "Plan de tir"
ActiveSheet.Move Before:=Sheets(2)
Sheets("Produits & TARIFS").Cells.Copy Destination:=Sheets("Plan de tir").Range("A1")
 

Discussions similaires

Réponses
3
Affichages
569

Statistiques des forums

Discussions
312 153
Messages
2 085 800
Membres
102 980
dernier inscrit
brossadan