Coloration des cellules avec des formules (Microsoft Excel)
Les cellules d’une feuille de calcul peuvent contenir des valeurs ou des formules. À un moment donné, vous souhaiterez peut-être mettre en évidence toutes les cellules de votre feuille de calcul qui contiennent des formules en colorant ces cellules. Il existe plusieurs façons d’aborder et de résoudre ce problème. Si vous n’avez pas besoin de faire la mise en évidence aussi souvent, une approche manuelle peut être préférable.
Suivez ces étapes:
-
Appuyez sur F5 ou Ctrl + G. Excel affiche la boîte de dialogue Atteindre.
-
Cliquez sur Spécial. Excel affiche la boîte de dialogue Aller à spécial. (Voir la figure 1.)
-
Sélectionnez le bouton radio Formules.
-
Cliquez sur OK.
À ce stade, chaque cellule de la feuille de calcul qui contient des formules est sélectionnée et vous pouvez ajouter de la couleur à ces cellules ou les mettre en forme comme vous le souhaitez. Cette approche peut être automatisée, si vous le souhaitez, en utilisant une macro comme la suivante:
Sub ColorFormulas() ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas, 23).Select With Selection.Interior .ColorIndex = 6 .Pattern = xlSolid End With End Sub
Vous pouvez exécuter cette macro aussi souvent que nécessaire afin de mettre en évidence les différentes cellules qui contiennent des formules. Le seul problème est que si une formule est supprimée d’une cellule précédemment mise en surbrillance, la mise en évidence reste; il n’est pas supprimé automatiquement. Dans ce cas, une approche macro différente est requise. Cette macro agit sur une plage de cellules que vous sélectionnez avant d’exécuter la macro.
Sub ColorFunction() For Each cell In Selection If cell.HasFormula Then With cell.Interior .ColorIndex = 6 .Pattern = xlSolid End With Else cell.Interior.ColorIndex = xlNone End If Next cell End Sub
La macro vérifie chaque cellule de la plage. Si la cellule contient une formule, elle est mise en surbrillance. Si la cellule ne contient pas de formule, la surbrillance est désactivée.
Une autre solution potentielle consiste à utiliser une fonction définie par l’utilisateur avec les capacités de mise en forme conditionnelle d’Excel. Créez la fonction suivante dans l’éditeur VBA:
Function CellHasFormula(c As Range) As Boolean CellHasFormula = c.HasFormula End Function
Avec cette fonction en place, vous pouvez utiliser les capacités de mise en forme conditionnelle d’Excel (détaillées ailleurs dans ExcelTips) pour vérifier ce que la formule renvoie. En d’autres termes, vous définiriez un format conditionnel qui vérifie le résultat de cette formule:
=CellHasFormula(A1)
Si le résultat est vrai (la cellule contient une formule), votre format conditionnel est appliqué.
Il est intéressant de noter que vous n’avez pas besoin de créer une macro VBA pour utiliser la route de mise en forme conditionnelle, si vous ne le souhaitez pas. (Certaines personnes ont une aversion naturelle pour l’utilisation de macros.) Au lieu de cela, vous pouvez suivre ces étapes:
-
Appuyez sur Ctrl + F3. Excel affiche la boîte de dialogue Définir le nom.
-
Dans le champ Noms (en haut de la boîte de dialogue), entrez un nom tel que FormulaInCell.
-
Dans le champ Se réfère à (au bas de la boîte de dialogue), entrez ce qui suit:
-
Cliquez sur OK.
Vous pouvez maintenant suivre les techniques décrites précédemment pour configurer la mise en forme conditionnelle. La seule différence est que le format conditionnel doit vérifier la formule suivante à la place:
=FormulaInCell
_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 (2766) s’applique à Microsoft Excel 97, 2000, 2002 et 2003.