VBA : Copie de feuille sans le code de son module...
3 réponses
Domi
Bonsoir à tous,
Par cette macro, je réalise des copies "épurées" de la feuille AMModele , la
feuille crée prend pour nom le texte figurant en AE1 (n° incrémenté) :
Sheets("AMModele").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("AMModele").[AE1]
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
ActiveSheet.DrawingObjects.Delete
End With
la feuille AMModele contient elle même le code suivant :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
patatipatata....
End Sub
Comment faire pour que le code de la feuille ( le code de son module) ne
sois pas copié sur la nouvelle feuille ?
J'ai bien trouvé dans les archives quelques solutions proposées (par
Frederic Sigonneau en particulier) mais je n'ai pas réussi à adapter quoi
que ce soit à mon code...
Merci pour votre aide.
Domi
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Joel
Bonsoir Domi,
on peut essayer d'intégrer cette partie de code :
Sub CopyFeuille()
Sheets("AMModele").Copy after:=Sheets(Sheets.Count) ActiveSheet.Name = Worksheets("AMModele").[AE1] With ThisWorkbook.ActiveSheet.UsedRange .Value2 = .Value2 ActiveSheet.DrawingObjects.Delete End With
EpurationCode
End Sub
Sub EpurationCode() Dim i As Long With ActiveWorkbook.VBProject.VBComponents("Feuil" & ActiveSheet.Index).CodeModule For i = .CountOfLines To 1 Step -1 .DeleteLines i Next End With
End Sub
--
Bien cordialement,
Joël GARBE www.joelgarbe.fr "Domi" a écrit dans le message de news:
Bonsoir à tous, Par cette macro, je réalise des copies "épurées" de la feuille AMModele , la
feuille crée prend pour nom le texte figurant en AE1 (n° incrémenté) : Sheets("AMModele").Copy after:=Sheets(Sheets.Count) ActiveSheet.Name = Worksheets("AMModele").[AE1] With ThisWorkbook.ActiveSheet.UsedRange .Value2 = .Value2 ActiveSheet.DrawingObjects.Delete End With
la feuille AMModele contient elle même le code suivant : Private Sub Worksheet_SelectionChange(ByVal Target As Range) patatipatata.... End Sub
Comment faire pour que le code de la feuille ( le code de son module) ne sois pas copié sur la nouvelle feuille ? J'ai bien trouvé dans les archives quelques solutions proposées (par Frederic Sigonneau en particulier) mais je n'ai pas réussi à adapter quoi que ce soit à mon code... Merci pour votre aide. Domi
Bonsoir Domi,
on peut essayer d'intégrer cette partie de code :
Sub CopyFeuille()
Sheets("AMModele").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("AMModele").[AE1]
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
ActiveSheet.DrawingObjects.Delete
End With
EpurationCode
End Sub
Sub EpurationCode()
Dim i As Long
With ActiveWorkbook.VBProject.VBComponents("Feuil" &
ActiveSheet.Index).CodeModule
For i = .CountOfLines To 1 Step -1
.DeleteLines i
Next
End With
End Sub
--
Bien cordialement,
Joël GARBE
www.joelgarbe.fr
"Domi" <scrat83@free.fr> a écrit dans le message de
news:O3jaTJEZEHA.3420@TK2MSFTNGP12.phx.gbl...
Bonsoir à tous,
Par cette macro, je réalise des copies "épurées" de la feuille AMModele ,
la
feuille crée prend pour nom le texte figurant en AE1 (n° incrémenté) :
Sheets("AMModele").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("AMModele").[AE1]
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
ActiveSheet.DrawingObjects.Delete
End With
la feuille AMModele contient elle même le code suivant :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
patatipatata....
End Sub
Comment faire pour que le code de la feuille ( le code de son module) ne
sois pas copié sur la nouvelle feuille ?
J'ai bien trouvé dans les archives quelques solutions proposées (par
Frederic Sigonneau en particulier) mais je n'ai pas réussi à adapter quoi
que ce soit à mon code...
Merci pour votre aide.
Domi
Sheets("AMModele").Copy after:=Sheets(Sheets.Count) ActiveSheet.Name = Worksheets("AMModele").[AE1] With ThisWorkbook.ActiveSheet.UsedRange .Value2 = .Value2 ActiveSheet.DrawingObjects.Delete End With
EpurationCode
End Sub
Sub EpurationCode() Dim i As Long With ActiveWorkbook.VBProject.VBComponents("Feuil" & ActiveSheet.Index).CodeModule For i = .CountOfLines To 1 Step -1 .DeleteLines i Next End With
End Sub
--
Bien cordialement,
Joël GARBE www.joelgarbe.fr "Domi" a écrit dans le message de news:
Bonsoir à tous, Par cette macro, je réalise des copies "épurées" de la feuille AMModele , la
feuille crée prend pour nom le texte figurant en AE1 (n° incrémenté) : Sheets("AMModele").Copy after:=Sheets(Sheets.Count) ActiveSheet.Name = Worksheets("AMModele").[AE1] With ThisWorkbook.ActiveSheet.UsedRange .Value2 = .Value2 ActiveSheet.DrawingObjects.Delete End With
la feuille AMModele contient elle même le code suivant : Private Sub Worksheet_SelectionChange(ByVal Target As Range) patatipatata.... End Sub
Comment faire pour que le code de la feuille ( le code de son module) ne sois pas copié sur la nouvelle feuille ? J'ai bien trouvé dans les archives quelques solutions proposées (par Frederic Sigonneau en particulier) mais je n'ai pas réussi à adapter quoi que ce soit à mon code... Merci pour votre aide. Domi
michdenis
Bonjour Domi,
Essaie ceci pour détruire tout le code de la feuille copiée. Tu inscris ceci à la suite de ta procédure
With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).CodeModule .DeleteLines 1, .CountOfLines End With
Salutations!
"Domi" a écrit dans le message de news: Bonsoir à tous, Par cette macro, je réalise des copies "épurées" de la feuille AMModele , la feuille crée prend pour nom le texte figurant en AE1 (n° incrémenté) : Sheets("AMModele").Copy after:=Sheets(Sheets.Count) ActiveSheet.Name = Worksheets("AMModele").[AE1] With ThisWorkbook.ActiveSheet.UsedRange .Value2 = .Value2 ActiveSheet.DrawingObjects.Delete End With
la feuille AMModele contient elle même le code suivant : Private Sub Worksheet_SelectionChange(ByVal Target As Range) patatipatata.... End Sub
Comment faire pour que le code de la feuille ( le code de son module) ne sois pas copié sur la nouvelle feuille ? J'ai bien trouvé dans les archives quelques solutions proposées (par Frederic Sigonneau en particulier) mais je n'ai pas réussi à adapter quoi que ce soit à mon code... Merci pour votre aide. Domi
Bonjour Domi,
Essaie ceci pour détruire tout le code de la feuille copiée.
Tu inscris ceci à la suite de ta procédure
With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
Salutations!
"Domi" <scrat83@free.fr> a écrit dans le message de news:O3jaTJEZEHA.3420@TK2MSFTNGP12.phx.gbl...
Bonsoir à tous,
Par cette macro, je réalise des copies "épurées" de la feuille AMModele , la
feuille crée prend pour nom le texte figurant en AE1 (n° incrémenté) :
Sheets("AMModele").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("AMModele").[AE1]
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
ActiveSheet.DrawingObjects.Delete
End With
la feuille AMModele contient elle même le code suivant :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
patatipatata....
End Sub
Comment faire pour que le code de la feuille ( le code de son module) ne
sois pas copié sur la nouvelle feuille ?
J'ai bien trouvé dans les archives quelques solutions proposées (par
Frederic Sigonneau en particulier) mais je n'ai pas réussi à adapter quoi
que ce soit à mon code...
Merci pour votre aide.
Domi
Essaie ceci pour détruire tout le code de la feuille copiée. Tu inscris ceci à la suite de ta procédure
With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).CodeModule .DeleteLines 1, .CountOfLines End With
Salutations!
"Domi" a écrit dans le message de news: Bonsoir à tous, Par cette macro, je réalise des copies "épurées" de la feuille AMModele , la feuille crée prend pour nom le texte figurant en AE1 (n° incrémenté) : Sheets("AMModele").Copy after:=Sheets(Sheets.Count) ActiveSheet.Name = Worksheets("AMModele").[AE1] With ThisWorkbook.ActiveSheet.UsedRange .Value2 = .Value2 ActiveSheet.DrawingObjects.Delete End With
la feuille AMModele contient elle même le code suivant : Private Sub Worksheet_SelectionChange(ByVal Target As Range) patatipatata.... End Sub
Comment faire pour que le code de la feuille ( le code de son module) ne sois pas copié sur la nouvelle feuille ? J'ai bien trouvé dans les archives quelques solutions proposées (par Frederic Sigonneau en particulier) mais je n'ai pas réussi à adapter quoi que ce soit à mon code... Merci pour votre aide. Domi
Domi
Solution testée et approuvée ;o) j'adopte ! Celle de Joel, au dessus n'efface pas le code copiée, mais ne plante pas...
Merci Domi
"michdenis" a écrit dans le message de news:%
Bonjour Domi,
Essaie ceci pour détruire tout le code de la feuille copiée. Tu inscris ceci à la suite de ta procédure
With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).CodeModule
.DeleteLines 1, .CountOfLines End With
Salutations!
"Domi" a écrit dans le message de news:
Bonsoir à tous, Par cette macro, je réalise des copies "épurées" de la feuille AMModele , la
feuille crée prend pour nom le texte figurant en AE1 (n° incrémenté) : Sheets("AMModele").Copy after:=Sheets(Sheets.Count) ActiveSheet.Name = Worksheets("AMModele").[AE1] With ThisWorkbook.ActiveSheet.UsedRange .Value2 = .Value2 ActiveSheet.DrawingObjects.Delete End With
la feuille AMModele contient elle même le code suivant : Private Sub Worksheet_SelectionChange(ByVal Target As Range) patatipatata.... End Sub
Comment faire pour que le code de la feuille ( le code de son module) ne sois pas copié sur la nouvelle feuille ? J'ai bien trouvé dans les archives quelques solutions proposées (par Frederic Sigonneau en particulier) mais je n'ai pas réussi à adapter quoi que ce soit à mon code... Merci pour votre aide. Domi
Solution testée et approuvée ;o) j'adopte !
Celle de Joel, au dessus n'efface pas le code copiée, mais ne plante pas...
Merci
Domi
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:%23KgXvQFZEHA.3128@TK2MSFTNGP09.phx.gbl...
Bonjour Domi,
Essaie ceci pour détruire tout le code de la feuille copiée.
Tu inscris ceci à la suite de ta procédure
With
ActiveWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
Salutations!
"Domi" <scrat83@free.fr> a écrit dans le message de
news:O3jaTJEZEHA.3420@TK2MSFTNGP12.phx.gbl...
Bonsoir à tous,
Par cette macro, je réalise des copies "épurées" de la feuille AMModele ,
la
feuille crée prend pour nom le texte figurant en AE1 (n° incrémenté) :
Sheets("AMModele").Copy after:=Sheets(Sheets.Count)
ActiveSheet.Name = Worksheets("AMModele").[AE1]
With ThisWorkbook.ActiveSheet.UsedRange
.Value2 = .Value2
ActiveSheet.DrawingObjects.Delete
End With
la feuille AMModele contient elle même le code suivant :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
patatipatata....
End Sub
Comment faire pour que le code de la feuille ( le code de son module) ne
sois pas copié sur la nouvelle feuille ?
J'ai bien trouvé dans les archives quelques solutions proposées (par
Frederic Sigonneau en particulier) mais je n'ai pas réussi à adapter quoi
que ce soit à mon code...
Merci pour votre aide.
Domi
Solution testée et approuvée ;o) j'adopte ! Celle de Joel, au dessus n'efface pas le code copiée, mais ne plante pas...
Merci Domi
"michdenis" a écrit dans le message de news:%
Bonjour Domi,
Essaie ceci pour détruire tout le code de la feuille copiée. Tu inscris ceci à la suite de ta procédure
With ActiveWorkbook.VBProject.VBComponents(ActiveSheet.CodeName).CodeModule
.DeleteLines 1, .CountOfLines End With
Salutations!
"Domi" a écrit dans le message de news:
Bonsoir à tous, Par cette macro, je réalise des copies "épurées" de la feuille AMModele , la
feuille crée prend pour nom le texte figurant en AE1 (n° incrémenté) : Sheets("AMModele").Copy after:=Sheets(Sheets.Count) ActiveSheet.Name = Worksheets("AMModele").[AE1] With ThisWorkbook.ActiveSheet.UsedRange .Value2 = .Value2 ActiveSheet.DrawingObjects.Delete End With
la feuille AMModele contient elle même le code suivant : Private Sub Worksheet_SelectionChange(ByVal Target As Range) patatipatata.... End Sub
Comment faire pour que le code de la feuille ( le code de son module) ne sois pas copié sur la nouvelle feuille ? J'ai bien trouvé dans les archives quelques solutions proposées (par Frederic Sigonneau en particulier) mais je n'ai pas réussi à adapter quoi que ce soit à mon code... Merci pour votre aide. Domi