- Mettre une cellule en surbrillance
- Mettre en surbrillance une plage de cellules
- Mettez en surbrillance les cellules en fonction de la valeur de la cellule
- Mettez en surbrillance une plage de cellules en fonction de la valeur de la cellule
- Mettre en surbrillance une cellule avec une mise en forme conditionnelle
- Mettez en surbrillance une cellule lorsque la sélection change
Ce didacticiel montrera comment utiliser VBA pour mettre en évidence une cellule ou une plage de cellules.
La mise en forme conditionnelle est un moyen de mettre en évidence des cellules dans Excel. Nous pouvons également utiliser VBA pour effectuer la mise en évidence des cellules.
Mettre une cellule en surbrillance
Pour mettre en évidence une cellule dans VBA, nous pouvons utiliser la procédure simple comme indiqué ci-dessous.
123 | Sous HighlightCell()ActiveCell.Interior.Color = vbRedFin du sous-marin |
Mettre en surbrillance une plage de cellules
De même, nous pouvons sélectionner une plage de cellules et mettre en surbrillance toutes les cellules de la plage.
1234 | Sub HighlightRange()Plage ("A1:A10").SélectionnezSelection.Interior.Color = vbRedFin du sous-marin |
Mettez en surbrillance les cellules en fonction de la valeur de la cellule
Pour ajouter une condition de mise en évidence d'une cellule, nous pouvons utiliser une instruction IF pour mettre en évidence la cellule si la valeur de la cellule est supérieure à une certaine valeur, dans ce cas supérieure à 10.
12345 | Sous HighlightCell_1Si ActiveCell.Value > 10 alorsActiveCell.Interior.Color = vbRedFin siFin du sous-marin |
Mettez en surbrillance une plage de cellules en fonction de la valeur de la cellule
Pour vérifier les valeurs dans une plage de cellules, nous aurions besoin de parcourir chaque cellule, d'établir sa valeur, puis de mettre la cellule en surbrillance en conséquence. Dans l'exemple ci-dessous, nous allons d'abord établir que la valeur contenue dans la plage est un nombre, puis tester pour voir si ce nombre est supérieur à 10.
12345678910 | Sous HighlightRangeOfCells()Dim rng As RangePour chaque sonnerie dans la plage ("A1:A10")Si IsNumeric(rng.Value) ThenSi rng.Valeur > 10 Alorsrng.Interior.Color = vbRedFin siFin sisonnerie suivanteFin du sous-marin |
Mettre en surbrillance une cellule avec une mise en forme conditionnelle
Nous pouvons également utiliser VBA pour appliquer une mise en forme conditionnelle à une cellule afin de la mettre en surbrillance. Dans l'exemple ci-dessous, la mise en forme conditionnelle sera appliquée à chaque cellule de la plage. Comme dans l'exemple ci-dessus, nous testons d'abord que la cellule contient une valeur numérique, puis appliquons la mise en forme conditionnelle.
12345678910 | Sous-ensembleConditionalFormatting()Dim rng As RangePour chaque sonnerie dans la plage ("A1:A10")Si IsNumeric(rng.Value) Thenrng.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, Formula1:="=10"rng.FormatConditions(1).Interior.Color = vbRedrng.FormatConditions(1).StopIfTrue = FalseFin sisonnerie suivanteFin du sous-marin |
Mettez en surbrillance une cellule lorsque la sélection change
Nous pouvons rendre dynamique la mise en évidence d'une cellule lorsque le pointeur de cellule se déplace dans la feuille de calcul en cours en utilisant l'événement Worksheet_Change. Dans l'exemple ci-dessous, tous les surlignages de la feuille seront supprimés (sauf ceux effectués par mise en forme conditionnelle) et la cellule active sera surlignée en rouge (ColorIndex = 3).
1234 | Private Sub Worksheet_SelectionChange (ByVal Target As Range)ActiveSheet.Cells.Interior.ColorIndex = xlColorIndexNoneTarget.Interior.ColorIndex = 3Fin du sous-marin |