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

Autres Mettre en surbrillance des lignes

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 !

Co_Lac

XLDnaute Junior
Bonjour,
Je souhaite mettre en surbrillance la ligne en cliquant sur une cellule lui appartenant.
J'ai trouvé ce code sur le net qui fonctionne mais qui décale à chaque clic dans une cellule d'une quantité de lignes vers le bas !
Je m'explique:
Ligne 1 : parfait !
Ligne 2 : Ligne en surbrillance 3
Ligne 3 : Ligne en surbrillance 5
Ligne 4 : Ligne en surbrillance 7
Ligne 5 : Ligne en surbrillance 9
Ligne 6 : Ligne en surbrillance 11
etc....

Et je ne sais pas ou est le problème, sinon le principe correspond à mes attentes !

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim zone As Range
Set zone = ActiveCell.CurrentRegion

Cells.FormatConditions.Delete

With zone.FormatConditions.Add(xlExpression, Null, "=LIGNE(" & zone.Cells(1).Address(False, False) & ")=" & ActiveCell.Row)
.Font.ColorIndex = 2
.Interior.ColorIndex = 32
End With

End Sub

Merci pour vos idées !
 
Bonjour,

Peut-être un truc comme ça?

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Set champ = Range("A1:W100")
  If Not Intersect(champ, Target) Is Nothing And Target.Count = 1 Then
     champ.Interior.ColorIndex = xlNone
     col1 = champ.Column
     col2 = col1 + champ.Columns.Count - 1
     Range(Cells(Target.Row, col1), Cells(Target.Row, col2)).Interior.ColorIndex = 36
  End If
End Sub

Slts
 
Merci pour votre réponse rapide,
Mais le problème avec ce code que j'ai testé ce matin c'est que ça me supprime tout le formatage précédent, couleur des cellules et écriture ?
Et je veux conserver le fichier tel que quand je l'ouvre !
 
ça y est j'ai trouvé !!!
il faut modifier la ligne :
With zone.FormatConditions.Add(xlExpression, Null, "=LIGNE(" & zone.Cells(1).Address(False, False) & ")=" & ActiveCell.Row)

comme ça :
With zone.FormatConditions.Add(xlExpression, Null, "=LIGNE()=" & ActiveCell.Row)

Je suis content j'ai cherché , j'ai trouvé !
Merci pour votre réponse
 
- 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

Réponses
7
Affichages
173
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
540
Réponses
5
Affichages
292
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…