Bonjour
C'est logique que cela ne fonctionne pas puisque vous mettez votre code dans Thisworkbook plutôt que dans la feuille
Mettez votre code Private Sub Worksheet_Change(ByVal Target As Range) dans la feuille CALCUL
Autre chose qu'il est très dangereux de faire, c'est d'utiliser l'instruction Application.EnableEvents. Là vous désactivez l'évènement alors que c'est ce que vous demandez de faire à la macro . Si votre code plante, vous n'aurez plus accès aux évènements. en gros à vous ne saurez plus exécuter votre code ni les autres qui sont dans THisworkbook.
Après analyse de votre code, utilisez plutôt celui-ci
Dim ok As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
Dim note As String
If ok = True Then Exit Sub
If Not Intersect(Target, Range("E2")) Is Nothing Then
ok = True
Select Case Target
Case Is = 1: note = "toto et tata dans le prés"
Case Is = 2: note = "juste toto"
Case Is = 3: note = "juste tata"
Case Else: note = "Entrée invalide"
End Select
Range("A2") = note
End If
ok = False
End Sub
Si ok et terminé, merci de cloturer le fil en cliquant sur le V vert à coté du bouton Editer lors de votre réponse
Cordialement