OVH Cloud OVH Cloud

Copier une feuille sans ses macros

5 réponses
Avatar
Le Nordiste
Bonjour tertous,

Je copie dans un classeur Cible une feuille d'un classeur Source.
Cette feuille a des macros dans Source mais je n'en veux pas dans
Cible.
Comment ne pas copier les macros attach=E9es =E0 cette feuille ?

Merci anticip=E9.

5 réponses

Avatar
AV
Fait un copier/coller "valeurs" de la feuille source vers la cible
Eventuellement suivi d'un copier/coller "format"
Ca t'évitera d'avoir à supprimer les procs évènementielles attachées à la
feuille source

AV
Avatar
Le Nordiste
et je fais comment avec :
'----------------------------------------------------------------------------------------------
'RECOPIE DE LA FEUILLE SOURCE DANS LA FEUILLE CIBLE
Set UneFeuille = GetObject(strChemin & "" &
strFichierSource).Sheets(strFeuilleSource)
GetObject(strChemin & "" &
strFichierSource).Sheets(strFeuilleSource).Copy After:= _

ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
'----------------------------------------------------------------------------------------------
Merci.
Avatar
michdenis
Bonjour Le Nordiste,

Pour copier une feuille sans son code vers un autre classeur ..
à toi d'adapter le nom des objets selon ceux de ton application.

'--------------------------------
Sub CopierFeuilleSansLeCode()

Dim NomOngletFeuille As String
Dim Code As String

NomOngletFeuille = "Feuil1"
With ThisWorkbook.VBProject.VBComponents(Sheets(NomOngletFeuille).CodeName).CodeModule
Code = .Lines(1, .CountOfLines)
.DeleteLines 1, .CountOfLines
ThisWorkbook.Worksheets(NomOngletFeuille).Copy after:= _
Workbooks("Classeur2.xls").Worksheets(Sheets.Count)
.AddFromString Code
End With
End Sub
'--------------------------------


Salutations!



"Le Nordiste" a écrit dans le message de news:

Bonjour tertous,

Je copie dans un classeur Cible une feuille d'un classeur Source.
Cette feuille a des macros dans Source mais je n'en veux pas dans
Cible.
Comment ne pas copier les macros attachées à cette feuille ?

Merci anticipé.
Avatar
Le Nordiste
Je bloque à la ligne - erreur 1004 :

With
ThisWorkbook.VBProject.VBComponents(Sheets(NomOngletFeuille).CodeName).code module

Comment continuer?
Avatar
michdenis
| Comment continuer?

Ces 2 lignes doivent être sur la même ligne. Ceci est une coupure effectuée par
le service de messagerie.

With ThisWorkbook.VBProject.VBComponents
(Sheets(NomOngletFeuille).CodeName).codemodule



Salutations!