Bonjour,

Je travaille sur un classeur excel pour automatiser quelques taches répétitives.
Dans une feuille j'ai une zone de texte Shape("MaZoneTxt") dont je me sers pour écrire un texte que je récupère après pour l'envoyer par mail.
Pour aider les utilisateurs de ce fichier à bien remplir cette zone de texte, j'ai rendu cette zone de texte transparente à 50% et j'ai placé derrière elle une forme Shape("MonRect") sur lequel j'ai mis un texte indicatif de ce qu'il faut remplir sur la zone de texte.

Mon but c'est qu'une fois l'utilisateur commence à saisir son texte, le texte indicatif sur le Shape("MonRect") disparaisse.
Et jusqu'à présent je n'arrive pas à trouver comment faire. Voici le code que j'utilise:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Option Explicit
 
Private Sub Worksheet_Change(ByVal Target As Range)
     If Range("H4").Value = "Val3" Then
        ActiveSheet.Unprotect
        Shapes("MaZoneTxt").TextFrame.Characters.Text = ""
        Shapes("MaZoneTxt").Visible = msoFalse
        Shapes("MonRect").Visible = msoFalse
        ActiveSheet.Protect
     Else
        ActiveSheet.Unprotect
        Shapes("MaZoneTxt").Visible = msoTrue
        Shapes("MonRect").Visible = msoTrue
        End If
        ActiveSheet.Protect
        Call Label
 End Sub
 
 
Private Sub Label()
        If Shapes("MaZoneTxt").TextFrame.Characters.Text = "" Then
        ActiveSheet.Unprotect
        Shapes("MonRect").TextFrame.Characters.Text = "Faites ceci et cela...."
        Else: Shapes("MonRect").TextFrame.Characters.Text = ""
        End If
        ActiveSheet.Protect
End Sub
Avec ce code le texte "Faites ceci et cela...." ne disparaît pas et je ne sais pas pourquoi.

Pourriez-vous m'aider svp?

Cdt;