Copie d'onglet avec nom généré par une cellule

fred2705

XLDnaute Junior
Bonjour,

J’ai un fichier (ci-joint) avec une cellule qui génère le nom de mes onglets
Grace à un bouton je fais une copie de la feuille par macro et il m’incrémente automatiquement le nom de ma feuille. Cela marche très bien.

Le hic c’est que si je copie la feuille par l’onglet (+ctrl) le nom en cellule qui génère la feuille n’est pas renommer et l’erreur se produit !

L’idéal serait de pouvoir bloquer la possibilité de copier par l’onglet mais je ne sais pas si c’est possible ?

Ou alors de renommer la cellule « D1 » au moment de la copie par l’onglet ?

Merci pour votre aide, voici mon fichier.
 

Pièces jointes

  • test.xls
    121 KB · Affichages: 41
  • test.xls
    121 KB · Affichages: 42
  • test.xls
    121 KB · Affichages: 50

job75

XLDnaute Barbatruc
Re : Copie d'onglet avec nom généré par une cellule

Bonsoir fred2705,

A placer dans ThisWorkbook :

Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name Like "Contact*)" Or Sh.Name Like "Con*ecteur*)" Then
  Application.DisplayAlerts = False
  Sh.Delete
End If
End Sub
Vous avez mis 3 "n" à "Connnecteur", mettez-en 10 si vous voulez...

A+
 

fred2705

XLDnaute Junior
Re : Copie d'onglet avec nom généré par une cellule

Bonsoir Job75,

Effectivement 2n à connecteur suffiront :)

Merci ce code fonctionne bien, mais mes deux onglets (contact et connecteur) vont évoluer et on pourra ce retrouver avec des noms totalement différents! Dans ce cas y a t'il une autre solution?

Merci pour votre aide et bonne soirée.
 

fred2705

XLDnaute Junior
Re : Copie d'onglet avec nom généré par une cellule

J'ai essayé avec le code ci dessous: Il ne copie plus par l'onglet ça c'est ok, par contre lorsque je lance la copie par le bouton macro, il fait la copie sur la dernière feuille qui existe déjà ! Arggh!


Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name Like "*)" Then
  Application.DisplayAlerts = False
  Sh.Delete
End If
End Sub
 

job75

XLDnaute Barbatruc
Re : Copie d'onglet avec nom généré par une cellule

Re,

Dans vos 2 macros de copie, pour éviter le lancement de la Workbook_SheetActivate :

- mettez Application.EnableEvents = False au début

- et Application.EnableEvents = True à la fin.

Bonne nuit.
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz