Comment mettre en surbrillance des cellules dans VBA : avec des exemples
Vous pouvez utiliser les méthodes suivantes dans VBA pour mettre en évidence les cellules :
Méthode 1 : mettre en surbrillance la cellule active
Sub HighlightActiveCell()
ActiveCell.Interior.Color = vbYellow
End Sub
Cette macro particulière mettra en évidence la cellule actuellement active avec un fond jaune.
Méthode 2 : mettre en surbrillance la plage de cellules
Sub HighlightRange()
Range("B2:B10").Interior.Color = vbYellow
End Sub
Cette macro particulière mettra en évidence chaque cellule de la plage B2: B10 avec un fond jaune.
Méthode 3 : mettre en évidence la plage de cellules en fonction de critères
Sub HighlightRangeBasedOnCriteria()
Dim rng As Range
For Each rng In Range("B2:B10")
If rng.Value > 20 Then
rng.Interior.Color = vbYellow
End If
Next rng
End Sub
Cette macro particulière mettra en évidence chaque cellule de la plage B2: B10 qui a une valeur supérieure à 20.
Les exemples suivants montrent comment utiliser chaque méthode en pratique avec l’ensemble de données suivant dans Excel :
Exemple 1 : mettre en surbrillance la cellule active
Supposons que la cellule B3 soit actuellement sélectionnée.
Nous pouvons créer la macro suivante pour mettre en évidence cette cellule active :
Sub HighlightActiveCell()
ActiveCell.Interior.Color = vbYellow
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Notez que la cellule B3 est mise en surbrillance et que toutes les autres cellules restent simplement intactes.
Exemple 2 : mettre en surbrillance une plage de cellules
Supposons que nous souhaitions mettre en évidence chaque cellule de la plage B2:B10 .
Nous pouvons créer la macro suivante pour ce faire :
Sub HighlightRange()
Range("B2:B10").Interior.Color = vbYellow
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Notez que chaque cellule de la plage B2:B10 est mise en surbrillance et que toutes les autres cellules restent intactes.
Exemple 3 : Mettre en surbrillance une plage de cellules en fonction de critères
Supposons que nous souhaitions mettre en évidence chaque cellule de la plage B2: B10 qui a une valeur supérieure à 20.
Nous pouvons créer la macro suivante pour ce faire :
Sub HighlightRangeBasedOnCriteria()
Dim rng As Range
For Each rng In Range("B2:B10")
If rng.Value > 20 Then
rng.Interior.Color = vbYellow
End If
Next rng
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Notez que chaque cellule de la plage B2:B10 avec une valeur supérieure à 20 est mise en surbrillance et que toutes les autres cellules restent intactes.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :
VBA : Comment appliquer une mise en forme conditionnelle aux cellules
VBA : comment appliquer une mise en forme conditionnelle aux valeurs en double
VBA : Comment trouver la valeur dans une colonne