Avec une macro.

On peut bien entendu masquer "à la main". Mais il sera plus pratique de créer une macro reliée à un bouton, afin de passer rapidement de l'état masqué à l'état non masqué, dans le but, par exemple, d'imprimer sans le contrôle.

 Microsoft n'a pas prévu de propriétés VBA qui nous diraient si le contrôle est rempli, complété, etc. ou non. Par contre, on peut vérifier si le texte du contrôle est le texte  par défaut.

Voici donc une macro qui masque le contrôle tant que celui-ci affiche ce texte. Dans le cas inverse, le contrôle ne sera pas masqué.

Vous pouvez bien sûr l'adapter aux autres contrôles de contenu.

Macro pour le premier contrôle du document ou le contrôle sélectionné :

Sub masquer()
'macro écrite par m@rina
Dim controle As ContentControl
Dim cont_texte
Set controle = ActiveDocument.ContentControls.Item(1)
cont_texte = controle.Range
If cont_texte = controle.PlaceholderText Then
controle.Range.Font.Hidden = True
Else: controle.Range.Font.Hidden = False
End If
End Sub

 

Macro pour l'ensemble des contrôles du document  :

Vous noterez que sont exclus les contrôle Case à cocher puisque, d'une part, il n'y a pas de texte, et d'autre part, une case décochée ne signifie pas que le contrôle n'est pas complété.

Sub masquer2()
'macro écrite par m@rina
Dim controle As ContentControl
Dim cont_texte
For Each controle In ActiveDocument.ContentControls
    If controle.Type <> wdContentControlCheckBox Then
    cont_texte = controle.Range
        If cont_texte = controle.PlaceholderText Then
            controle.Range.Font.Hidden = True
            Else: controle.Range.Font.Hidden = False
        End If
    End If
Next
End Sub