Ken se demande s’il existe une fonction de feuille de calcul qui indiquera si le contenu d’une cellule est en gras. Il peut trouver d’autres fonctions d’information, telles que ISBLANK, mais ne peut pas en trouver une qui indiquera si la cellule est en gras.

Il n’y a pas de fonction ISBOLD intégrée à Excel. Il existe un moyen très obscur de le faire sans recourir à une macro, mais cela ne fonctionne qu’avec certaines versions d’Excel. Apparemment, par exemple, cette approche ne fonctionnera pas avec Office 365, car il semble que Microsoft a finalement supprimé sa prise en charge. Cette ancienne fonction Excel 4, appelée GET.CELL, fonctionnera avec certaines anciennes versions d’Excel. Voici comment vous l’utiliseriez dans une formule:

=IF(GET.CELL(20,A1), "Bold", "Not Bold")

La fonction GET.CELL renvoie True si au moins le premier caractère de la cellule est en gras.

Une meilleure approche serait de créer une fonction définie par l’utilisateur dans VBA qui pourrait être appelée à partir de votre feuille de calcul. Voici une version simple d’un tel UDF:

Function CheckBold(cell As Range) As Boolean     Application.Volatile     CheckBold = cell.Font.Bold End Function

Pour l’utiliser dans votre feuille de calcul, vous le feriez de cette manière:

=IF(CheckBold(A1), "Bold", "Not Bold")

La fonction CheckBold ne sera mise à jour que lorsque votre feuille de calcul est recalculée, pas si vous appliquez simplement une mise en forme en gras ou la supprimez de la cellule A1.

Cette approche peut fonctionner pour la plupart des instances, mais comprenez que la propriété Bold peut en fait avoir trois paramètres possibles: True, False et Null. La propriété est définie sur False si aucun des caractères de la cellule n’est en gras. Il est défini sur True s’ils sont tous en gras. Enfin, il est défini sur Null si seuls certains des caractères de la cellule sont en gras. Si vous pensez que vous pourriez rencontrer cette situation, vous devrez alors modifier la fonction CheckBold:

Function CheckBold(cell As Range) As Integer     Dim iBold As Integer

Application.Volatile

iBold = 0     If IsNull(cell.Font.Bold) Then         iBold = 2     Else         If cell.Font.Bold Then iBold = 1     End If

CheckBold = iBold End Function

Notez que la fonction renvoie maintenant une valeur, de 0 à 2. Si elle renvoie 0, il n’y a pas de gras dans la cellule. S’il renvoie 1, alors la cellule entière est en gras. Si elle renvoie 2, alors il y a du gras partiel dans la cellule.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (13733) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365.