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

  • Initiateur de la discussion Initiateur de la discussion Yvan1
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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.
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour