Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2013 Surligner une ligne si curseur sur la ligne et dans une zone définie

Yvan1

XLDnaute Occasionnel
Bonjour,

A l'aide du code suivant, je surligne une partie de la ligne active.
Mais si je clique en dehors de la Plage définie, cela surligne aussi la ligne, ce que je ne souhaite pas.
Quelqu'un a-t-il une idée ?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim Plage As Range

Ca = Application.WorksheetFunction.CountA(Range("A:A")) + 7 'Nb de lignes
Cb = Application.WorksheetFunction.CountA(Range("8:8")) - 2 'Nb de colonnes

Set Plage = Range(Cells(9, 1), Cells(Ca, Cb))

Cells.FormatConditions.Delete

With Plage.FormatConditions.Add(xlExpression, Null, "=ligne(" & Plage.Cells(1).Address(False, False) & ")=" & ActiveCell.Row)
.Font.ColorIndex = 2
.Interior.ColorIndex = 7
End With

End Sub

Merci d'avance,

Yvan
 
Solution
Bonjour Yvan,
Il suffit de limiter la plage où la macro doit être appliquée :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1:C50")) Is Nothing Then
....
    EndIf
End Sub
Range("A1:C50") est à modifier selon votre besoin.

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Yvan,
Il suffit de limiter la plage où la macro doit être appliquée :
VB:
Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1:C50")) Is Nothing Then
....
    EndIf
End Sub
Range("A1:C50") est à modifier selon votre besoin.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…