Sheryl peut utiliser le formatage conditionnel pour donner à une cellule une certaine couleur si la cellule est vide. Au lieu d’une couleur différente pour la cellule vide, elle aimerait que la cellule vide affiche du texte. Par exemple, si la cellule est vide, elle voudra peut-être qu’elle affiche «Nom du client», qui servirait d’invite à l’utilisateur. Sheryl se demande s’il existe un moyen de faire ce genre de « mise en forme conditionnelle » qui affiche du texte.

La réponse courte est non, cela ne peut pas être fait. La manière traditionnelle de contourner ce problème consiste à séparer vos invites de vos cellules d’entrée. Par exemple, si l’entrée utilisateur est attendue dans la cellule B4, vous pouvez mettre le libellé «Nom du client:» (avec les deux-points) dans la cellule A4. Si vous voulez que le libellé disparaisse lorsque le nom du client est entré, vous pouvez, à la place, utiliser une formule dans la cellule A4:

=IF(ISBLANK(B4),"Customer Name","")

Il existe également une approche que vous pouvez utiliser qui tire parti de la façon dont Excel traite le «dépassement de cellule» lorsque les cellules contiennent du texte. Disons, par exemple, que (encore) votre entrée utilisateur est attendue dans la cellule B4.

Vous pouvez rendre la colonne A très étroite – disons, environ un seul caractère de large -, puis dans la cellule A4, appuyez plusieurs fois sur la barre d’espace et tapez «Nom du client». Tant qu’il n’y a rien dans la cellule B4, ce que vous avez tapé dans la cellule A4 est affiché, mais il semble que ce soit dans la cellule B4. Lorsque quelqu’un tape quelque chose dans la cellule B4, cela bloque l’affichage de ce qui se trouve dans la cellule A4. Vous pouvez même, si vous le souhaitez, rendre le texte de la cellule A4 gris clair, afin qu’il apparaisse discret lorsqu’il est affiché.

Si vous préférez suivre une macro route, vous voudrez en créer une qui se déclenchera chaque fois qu’il y a un changement dans la feuille de calcul. Cela irait dans le module de code de la feuille de calcul utilisée:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$B$4" Then         If Target = "" Then             ' Cell is empty; mark it and make gray             Target = "(Customer Name)"

With Selection.Font                 .ThemeColor = xlThemeColorDark1                 .TintAndShade = -0.249977111117893             End With         Else             ' Cell contains something; remove gray             With Selection.Font                 .ColorIndex = xlAutomatic                 .TintAndShade = 0             End With         End If     End If End Sub

Notez que la macro n’entre en action que si la cellule en cours de modification est la cellule B4.

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (614) s’applique à Microsoft Excel 2007, 2010, 2013 et 2016.