Surligner la ligne active sans supprimer les couleurs de bases

Bonjour,

Je cherche à surligner la ligne active dans un fichier Excel sans supprimer la couleur de base.

Lorsque j'utilise la mise en forme conditionnelle avec un code VBA, la feuille ralentie considérablement. Voir ci-dessous :

  • Créer une règle dans mise en forme conditionnel avec cette formule :
    =LIGNE()=CELLULE("ligne")
  • Ajouter le code VBA :
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Calculate
    End Sub

Le code VBA que j'utilise me permet de ne pas surligner les deux premières rangées et donc de ne pas affecter la couleur de mes titres de colonnes. Mais cela ne règle pas mon problème avec les cellules individuelles que je marque comme "Insatisfaisant".

C'est ce code :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  'Dans la plage de cellules utilisée ...
  With Me.UsedRange.Rows
    '... sauf la première ligne
    With .Offset(2).Resize(.Count - 2)
      ' - effacer la couleur
      .Interior.ColorIndex = xlNone
      ' - si la cellule active n'est pas dans cette plage : terminé
      If Intersect(Target, .Cells) Is Nothing Then Exit Sub
      ' - sinon : changer la couleur de la ligne
      Intersect(Target.EntireRow, .Cells).Interior.ColorIndex = 3
    End With
  End With
End Sub

Merci,

eaclipse

Bonjour,

J'utilise les MFC sans vba dans ce petit fichier, et çà ne ralentit pas.

tu n'as pas mis de fichier mais je mets le mien aprés avoir anonymiser les données ici, ce que tu peux faire aussi.

a+

Fronck

Bonjour Fronck,

Merci pour la réponse. Cependant, mon fichier est beaucoup plus gros. Ton fichier fait 3 KB, ceux que j'utilise en font 97 KB ou plus.

Bonsoir,

Qq scénarios en PJ

Boisgontier

Merci.

J'ai utilisé la version CurseurLigneColMFC

Rechercher des sujets similaires à "surligner ligne active supprimer couleurs bases"