Macro Excel: Nom de l'onglet en "A1"

Résolu
Bl4do Messages postés 40 Statut Membre -  
Bl4do Messages postés 40 Statut Membre -
Bonjour,

mon titre résume assez bien mon problème :)

J'aimerai que lorsque je copie,duplique ou cré un onglet (une feuille), la macro ci-dessous s'execute:

Sub Worksheet_Activate()
Range("A1") = ActiveSheet.Name
End Sub

Je n'arrive pas a trouver la synthaxe pour celà.

Merci par avance pour votre aide!

Cordialement,


A voir également:

4 réponses

eriiic Messages postés 25847 Statut Contributeur 7 279
 
Bonjour,

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    [A1] = Sh.Name
End Sub

eric
3
Mike-31 Messages postés 19571 Statut Contributeur 5 137
 
Salut,

Si j'ai bien compris la demande
clic droit sur un onglet de feuille/visualiser le code/dans la marge de gauche (explorateur de projet) tu remarquera Thisworkbook l'ouvrir la Thisworkbook (avec un double clic)

et colle ce code qui affichera en A1 de chaque feuille le nom de l'onglet à chaque activation de la feuille

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Range("A1") = ActiveSheet.Name
End Sub
1
Lentz
 
Pas compris ... quand tu crée un onglet tu veux qu'une macro se lance ?
0
Bl4do Messages postés 40 Statut Membre 1
 
Quand je duplique un onglet, je veux que le nom de l'onglet en question se mette en A1 directement, sans rien que je fasse...
0
Bl4do Messages postés 40 Statut Membre 1
 
Bonjour,

Alors tout d'abord, merci pour vos réponse. La macro fonctionne dans les 2 cas, mais aucun des codes ne contient l'evenement qui la déclanche automatiquement.
Autrement dit, quand je click droit onglet 2 -> Move or Copy -> Créer une copie après tel ou tel onglet existant... Bim l'onglet est créé, mais je dois aller dans le gestionnaire de macro pour la lancer car elle ne se lance pas toute seule...
0
Lentz
 
Fait une touche de raccourci, ça ira tout aussi vite ;)
0
Bl4do Messages postés 40 Statut Membre 1
 
je ne suis pas l'utilisateur final, et la manoeuvre sera reproduite pas mal de fois...
0
pijaku Messages postés 13513 Statut Modérateur 2 763
 
Ce sujet est résolu par Eriiic (et Mike).
En effet, lors de la création d'une nouvelle feuille, Excel va activer cette nouvelle feuille, et automatiquement grâce à l'événement Workbook_SheetActivate, va inscrire le nom de la nouvelle feuille en A1.
0
Bl4do Messages postés 40 Statut Membre 1
 
Malheureusement non :( La macro ne se lance pas tout seul...
0
michel_m Messages postés 18903 Statut Contributeur 3 318
 
il faut que la macro soit dans le module "thisworkbook" événement Workbook_SheetActivate, comme l'indique Pijaku, et la supprimer dans les modules de chaque feuille
0