Partager via


Mettre en surbrillance la cellule, la ligne ou la colonne active

Les exemples de code suivants montrent comment mettre en surbrillance la cellule active ou les lignes et les colonnes qui contiennent la cellule active. Ces exemples utilisent l'événement SelectionChange de l'objet Worksheet.

Exemple de code fourni par : Tom Urtis, Atlas Programming Management

Mise en surbrillance de la cellule active

L'exemple de code suivant efface la couleur de toutes les cellules de la feuille de calcul en définissant la propriété ColorIndex sur 0, puis met en surbrillance la cellule active en définissant la propriété ColorIndex sur 8 (turquoise).

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.ScreenUpdating = False
    ' Clear the color of all the cells
    Cells.Interior.ColorIndex = 0
    ' Highlight the active cell
    Target.Interior.ColorIndex = 8
    Application.ScreenUpdating = True
End Sub

Mise en surbrillance de la ligne et de la colonne entières contenant la cellule active

L’exemple de code suivant efface la couleur de toutes les cellules de la feuille de calcul en définissant la propriété ColorIndex sur 0, puis met en surbrillance la ligne et la colonne entières contenant la cellule active à l’aide des propriétés EntireRow et EntireColumn.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    ' Clear the color of all the cells
    Cells.Interior.ColorIndex = 0
    With Target
        ' Highlight the entire row and column that contain the active cell
        .EntireRow.Interior.ColorIndex = 8
        .EntireColumn.Interior.ColorIndex = 8
    End With
    Application.ScreenUpdating = True
End Sub

Mise en surbrillance de la ligne et de la colonne contenant la cellule active, dans la zone active

L’exemple de code suivant efface la couleur de toutes les cellules de la feuille de calcul en définissant la propriété ColorIndex sur 0, puis met en surbrillance la ligne et la colonne contenant la cellule active, dans la zone active, à l’aide de la propriété CurrentRegion de l’objet Range.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ' Clear the color of all the cells
    Cells.Interior.ColorIndex = 0
    If IsEmpty(Target) Or Target.Cells.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    With ActiveCell
        ' Highlight the row and column that contain the active cell, within the current region
        Range(Cells(.Row, .CurrentRegion.Column), Cells(.Row, .CurrentRegion.Columns.Count + .CurrentRegion.Column - 1)).Interior.ColorIndex = 8
        Range(Cells(.CurrentRegion.Row, .Column), Cells(.CurrentRegion.Rows.Count + .CurrentRegion.Row - 1, .Column)).Interior.ColorIndex = 8
    End With
    Application.ScreenUpdating = True
End Sub

À propos du collaborateur

MVP Tom Urtis est le fondateur de gestion Atlas de programmation, un service complet Microsoft Office et société de solutions d’entreprise Excel dans la Silicon Valley. Tom comporte plus de 25 ans d’expérience dans la gestion d’entreprise et de développement Microsoft Office applications et représente co-auteur de « Macro Sainte ! Il existe 2 500 exemples VBA Excel ».

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.