Copier un Private sub worksheet change

MPP87

XLDnaute Junior
Bonjour le forum.

Après quelques recherches sur les différentes questions posées à ce sujet, je n'ai pas trouvé de réponse ; aussi, je vous soumets mon problème.
J'ai un fichier avec une feuille accueil et une feuille modèle.
Sur la feuille accueil, lorsque je clique sur le bouton CRÉER, je duplique la feuille MODELE,
Dans cette feuille il y a une macro Private sub worksheet change(byval target as range).
Je souhaiterais qu'elle soit dupliquée lors de la création de ma nouvelle feuille mais je ne sais pas comment faire ; mes autres macros sont elles copieées simultanément !!
Quelqu'un a-t-il la réponse ?

D'avance merci beaucoup. Cordialement.
 

Pièces jointes

  • PARTICIPATIONS VACANCES COS VDL(1).zip
    37.3 KB · Affichages: 28
  • PARTICIPATIONS VACANCES COS VDL(1).zip
    37.3 KB · Affichages: 29
  • PARTICIPATIONS VACANCES COS VDL(1).zip
    37.3 KB · Affichages: 30
C

Compte Supprimé 979

Guest
Re : Copier un Private sub worksheet change

Bonsoir MPP87

Question étrange !?
A partir du moment ou tu copies une feuille contenant du code, le code est lui aussi copié !

Mais il faut utiliser le bon code, copier la feuile et non uniquement les cellules
Code:
Sub CREER_FEUILLE8_PARTICIPATION()
  Dim Nlig As Long
  '
  ' CREER_FEUILLE_PARTICIPATION Macro
  ' Macro enregistrée le 30/01/2007 par Martial
  ' modifiée par BunoM45
  ' Demander le nom de la nouvelle feuille et copier le modèle
  On Error GoTo gesterreur
  mafeuil = InputBox(Prompt:="Taper le nom de la feuille à créer. EX : VAILLANT Michel ")
  If mafeuil = "" Then Exit Sub
  Sheets("MODELE").Copy After:=Sheets(Sheets.Count)
  ActiveSheet.Name = mafeuil
  Range("I3").Value = mafeuil
  ' Désélectionner les cellules modèle et ajouter la personne à la liste des résidents
  Sheets("Accueil").Activate
  Nlig = Range("B" & Rows.Count).End(xlUp).Offset(1, 0).Row
  Range("B" & Nlig).Value = mafeuil
  'Créer le lien hypertexte vers la feuille de présence
  ActiveSheet.Hyperlinks.Add Anchor:=Range("B" & Nlig), Address:="", SubAddress:= _
                             "'" & mafeuil & "'!A1", TextToDisplay:=mafeuil
  'Classer alphabétiquement la liste générale
  Range("B3:B" & Nlig).Sort Key1:=Range("b3"), Order1:=xlAscending, Header:=xlGuess, _
                            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
  Exit Sub
gesterreur:
  MsgBox "Votre création n'a pas été effectuée"
End Sub

A+
 

Papou-net

XLDnaute Barbatruc
Re : Copier un Private sub worksheet change

Bonsoir MPP87,

Tu peux copier directement la feuille MODELE en dernière position et la renommer avec le nom choisi dans l'InputBox. Les macros seront ainsi intégralement copiées.

Voici donc comment modifier le début de ta macro :

Code:
Sub CREER_FEUILLE8_PARTICIPATION()
'
' CREER_FEUILLE_PARTICIPATION Macro
' Macro enregistrée le 30/01/2007 par Martial
' Demander le nom de la nouvelle feuille et copier le modèle
On Error GoTo gesterreur
maFeuil = InputBox(Prompt:="Taper le nom de la feuille à créer. EX : VAILLANT Michel ")
    If maFeuil = "" Then Exit Sub
    Sheets("MODELE").Copy After:=Sheets(2)
    ActiveSheet.Name = maFeuil
    ActiveSheet.Range("I3") = maFeuil
     Range("E4").Select
' Désélectionner les cellules modèle et ajouter la personne à la liste des résidents
...
...
...
Exit Sub
gesterreur:
MsgBox "Votre création n'a pas été effectuée"
End Sub

Cordialement.

Oups, bonsoir BrunoM45
 

MPP87

XLDnaute Junior
Re : Copier un Private sub worksheet change

Bonsoir BrunoM45, bonsoir papou-net.
Merci pour votre aide ; j'ai testé les deux solutions et elles fonctionnent à merveilles.
Mon petit cerveau n'aurait pas réussi tout seul.

Bonne soirée.
Cordialement.
 

Discussions similaires

Réponses
7
Affichages
432

Statistiques des forums

Discussions
312 602
Messages
2 090 156
Membres
104 413
dernier inscrit
HMF1984