XL 2013 colorer le fond d'une cellule par rapport à un choix de liste déroulante d'une autre cellule

Michelrib

XLDnaute Nouveau
colorer le fond d'une cellule par rapport à un choix de liste déroulante d'une autre cellule

voir fichier le tableau à trois colonnes à droite

S6=SI(T6="Signalée";fondS6="vert";SI(T6="Rentrante";fondS6="bleu";SI(T6="Immo";fondS6="rouge";fondS6="blanc")))
 

Pièces jointes

  • etat.xlsm
    17.7 KB · Affichages: 9

frangy

XLDnaute Occasionnel
Pour accéder à l'éditeur VBA, utiliser le raccourci clavier ALT+F11
Si l’explorateur de projet n’est pas ouvert, utiliser le raccourci clavier CTRL+R
Puis double clic sur le module Feuil1(Feuil1)

Voici la procédure avec des commentaires
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim C As Range
    'Si plusieurs cellules ont été modifiées, sortir de la procédure
    If Target.Count > 1 Then Exit Sub
    'Si la cellule modifiée appartient à la plage T6:T29, alors
    If Not Application.Intersect(Target, Range("T6:T29")) Is Nothing Then
        'Dans la plage A6:P10, chercher la cellule qui a la même valeur que la cellule modifiée
        Set C = Range("A6:P10").Find(Target.Offset(, -1), , xlValues, xlWhole)
        'Si cette cellule existe
        If Not C Is Nothing Then
            'appliquer la couleur de fond associée au texte de la cellule modifiée
            Select Case Target.Value
            Case "Dispo"
                C.Interior.ColorIndex = -4142
            Case "Signalée"
                C.Interior.ColorIndex = 43 '  vert
            Case "Rentrante"
                C.Interior.ColorIndex = 23 '  bleu
            Case "Immo"
                C.Interior.ColorIndex = 3 '   rouge
            Case Else
                C.Interior.ColorIndex = -4142
            End Select
        End If
    End If
End Sub

Cordialement.
 

Discussions similaires