Création nouvelle feuille avec code

Résolu
dan03 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -  
dan03 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -
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. via55 Messages postés 14391 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    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
  2. dan03 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   2
     
    Merci pour ton explication simple et précise
    Cordialement
    0