Surbrillance Ligne et Colonne de la Cellule active

Bonjour à tous,

J'ai trouvé ce petit code qui fonctionne très bien et me permet de mettre en couleur la ligne et la colonne de la cellule active :

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

Seul petit bémol : il me supprime les couleurs de toutes les cellules qui l'étaient déjà, je souhaiterai que lorsqu'une cellule active ne l'est plus elle reprenne sa couleur d'origine.
Je souhaiterai également, si cela est possible, que ce code ne fonctionne uniquement (autant pour une cellule sélectionnée que pour les cellules qui se mettront en couleur) que ne soit actif que de A19 à OX900

J’espère si je formule bien ma demande

Merci d'avance pour votre aide.

EvGef

Bonjour,

Ce code de JB ne modifie pas les couleurs :

Private Sub Worksheet_Change(ByVal Target As Range)
Set champ = [A1:F30]
 If Not Intersect(champ, Target) Is Nothing And Target.Count = 1 Then
   Application.EnableEvents = False
    Union(Cells(Target.Row + 1, 1).Resize(1, champ.Columns.Count), _
      Cells(1, Target.Column).Resize(champ.Rows.Count, 1)).Select
   Target.Offset(1, 0).Activate
   Application.EnableEvents = True
 End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set champ = [A1:F30]
If Not Intersect(champ, Target) Is Nothing And Target.Count = 1 Then
    Application.EnableEvents = False
    Union(Cells(Target.Row, 1).Resize(1, champ.Columns.Count), _
      Cells(1, Target.Column).Resize(champ.Rows.Count, 1)).Select
    Target.Activate
    Application.EnableEvents = True
 End If
End Sub

Bonjour Patrice,

Merci ton retour et pour l'intérêt porté.
Cependant là ça ne me fait qu'une sélection et il faut déjà que je saisisse qqch dans la cellule.
Je souhaite vraiment que çà colorie les cellules que lorsque je la sélectionne car c'est c'est un très long tableau (414 colonnes sur 900 lignes)

Mais l'idée est bonne et je pense pouvoir m'en resservir dans d'autres applications

Cordialement.
EvGef

Re,

Je viens de trouver tout bêtement et sur le forum en plus : Surligner la ligne cliquée

J'ai un peu adapté pour que ça colle à ce que je voulais et comme c'est en MFC ça conserve les couleurs d'origine :

Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("A4:AH100")) Is Nothing Then
Range("A1").Value = Target.Row
Range("A2").Value = Target.Column
End If
End Sub

Donc un grand merci à Fronck, membre à l'origine de ce message !

Bonne journée à tous

@ bientôt

Cependant là ça ne me fait qu'une sélection et il faut déjà que je saisisse qqch dans la cellule.

Je souhaite vraiment que çà colorie les cellules que lorsque je la sélectionne car c'est c'est un très long tableau (414 colonnes sur 900 lignes)

EvGef

Elle ne colorie pas mais elle surligne, si tu as copié l'intégralité du code, cela surligne aussi lors de la sélection !

En fait, la première procédure (sur Change) n'est pas indispensable, c'est la seconde qui est sur SelectionChange.

L'avantage c'est qu'il n'y a aucune modification sur la feuille (pas d'écriture dans des cellules, ni de MFC)

bonjour

une petite contribution

cordialement

1'542clic-couleur.xlsm (14.01 Ko)

Bonjour Tulipe_4,

Encore plus simple (et du coup plus rapide), nikel, merci.

Bonne journée à toi et bon week end !

Rechercher des sujets similaires à "surbrillance ligne colonne active"