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

Résolu
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,

4 réponses

  1. Contributeur
    Bonjour,

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

    eric
    3
    1. 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
      1. Pas compris ... quand tu crée un onglet tu veux qu'une macro se lance ?
        0
        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
      2. 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
        1. Fait une touche de raccourci, ça ira tout aussi vite ;)
          0
        2. je ne suis pas l'utilisateur final, et la manoeuvre sera reproduite pas mal de fois...
          0
        3. Modérateur
          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
        4. Malheureusement non :( La macro ne se lance pas tout seul...
          0
        5. Contributeur
          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