Création nouvelle feuille avec code

Résolu
Bonjour,
J'ai un classeur contenant une feuille nommée "Données"
A l'ouverture du classeur, je voudrais créer une nouvelle feuille nommée " Essai"
J'ai écris le code suivant, dans le Module1:

Sub Auto_Open()
Dim Feuille As Worksheet
'Cherche si la feuille "Essai" existe
For Each Feuille In worksheets
If UCase(Feuille.Name) = UCase("Essai") Then Flag = 1
Next Feuille
Worksheets("Données").Activate
If Flag = 0 Then ' Créer la feuille
sheets.Add(after:=sheets("Données")).Name = "TriDate"
Worksheets("Données").Activate
End If
End Sub

Cela fonctionne parfaitement, mais maintenant, en cliquant sur l'onglet "Essai", je voudrais excécuter une procédure
Par exemple:
Private Sub Worksheet_Activate()
MsgBox "Vous venez d'activer la feuille " & ActiveSheet.Name
End Sub

Pour que cela fonctionne, il faut que cette procédure soit dans le code de la feuille "Essai"

Comment la mettre automatiquement à la création de cette feuille ?
ou Comment l'activer, si le code est dans le Module1 ?
Merci de votre aide Cordialement

Configuration: Windows / Edge 86.0.622.38

2 réponses

  1. Merci pour ton explication simple et précise
    Cordialement
    0
    1. Bonjour

      Pour appliquer une procédure à l'activation de n'importe quelle feuille du classeur doit être mise dans ThisWorkbook
      Private Sub Workbook_SheetActivate(ByVal Sh As Object)
      MsgBox "Vous venez d'activer la feuille " & Sh.Name
      End Sub


      ou avec une condition :
      Private Sub Workbook_SheetActivate(ByVal Sh As Object)
      If Sh.Name = "Essai" Then MsgBox "Vous venez d'activer la feuille " & Sh.Name
      End Sub


      ou dans this Workbook
      Private Sub Workbook_SheetActivate(ByVal Sh As Object)
      nomf = Sh.Name
      message
      End Sub

      et dans un module avec déclaration préalable de la variable publique
      Public nomf As String
      Sub message()
      MsgBox "Vous venez d'activer la feuille " & nomf
      End Sub


      Cdlmt
      Via
      0