Mise en forme conditionnelle - Surligner plusieurs lignes d'une colonne active

ninikkhuet

XLDnaute Nouveau
Bonjour,

j'ai un fichier avec plusieurs colonnes, chaque colonne contenant un ou plusieurs "x" sauf la colonne A évidemment. J'aimerais que lorsque je clique sur n'importe quelle cellule d'une colonne (sauf colonne A), prenons la colonne B par exemple, toutes les lignes dont la colonne B contient "x" soit surligné en jaune.
J'ai réussi à surligner une ligne lors d'un clic sur n'importe quelle cellule de cette ligne en mettant dans Mise en forme conditionnelle 'La formule est' '=LIGNE()=CELLULE("ligne")' avec couleur jaune + dans les macros :
Private Sub Worksheet_SelectionChange(ByVal target As Range)
Calculate
End Sub

mais c'est tout :(
Je ne sais pas si c'est faisable avec la MFC (c'est compliqué quand même :p) ou les macros...Quelqu'un peut m'aider ?

Merci
 
Dernière édition:

Larson

XLDnaute Junior
Re : Mise en forme conditionnelle - Surligner plusieurs lignes d'une colonne active

Bonjour,

le fichier joint peux t'il t'aider ?

le code ci dessous est 'sur changement de selection' de la feuille.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim Cel As Range

Cells.Interior.ColorIndex = xlNone 'met toutes les cellules sur fond blanc

'chaque cellule de la colonne correpondant à la cellule active est coloriée en jaune (6)
' si sa valeur est egale à "X".   La zonr parouru est limiter de la ligne 2 à la ligne 11
For Each Cel In Range(Cells(2, Target.Column), Cells(11, Target.Column))
    If Cel = "X" Then Cel.Interior.ColorIndex = 6
Next

End Sub

A adapter suivant besoin...
 

Pièces jointes

  • ColorationCellules.xls
    23 KB · Affichages: 173
  • ColorationCellules.xls
    23 KB · Affichages: 173
  • ColorationCellules.xls
    23 KB · Affichages: 173
Dernière édition:

ninikkhuet

XLDnaute Nouveau
[OK]Mise en forme conditionnelle - Surligner plusieurs lignes d'une colonne active

Nickel merci c'est bon je me suis débrouillée, je mets mon petit chmilblik au cas où ça intéresse quelqu'un :
Code:
Private Sub Worksheet_SelectionChange(ByVal target As Range)
    Dim Cel As Range

    Cells.Interior.ColorIndex = xlNone 'met toutes les cellules sur fond blanc
    
    'chaque cellule de la colonne correpondant à la cellule active est coloriée en jaune clair(19)
    'je colore l'en-tête de la colonne
    Cells(1, target.Column).Interior.ColorIndex = 19
    For i = 2 To 150
        ' si sa valeur est egale à "X".
        If Cells(i, target.Column) = "x" Then
            Cells(i, target.Column).Interior.ColorIndex = 19
            Cells(i, 1).Interior.ColorIndex = 19
        End If
    Next i
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 115
Messages
2 085 453
Membres
102 890
dernier inscrit
selkis