Colorier une cellule aprés recherche dans une liste

Myst

XLDnaute Occasionnel
Bonjour le forum
Je cherche a colorier des cellules en fonction d'un texte par rapport a un tableau de reference
exemple: En B4 de l'onglet "TABLEAU" j'ai "AAA" et je voudrais rechercher la couleur de fond de la cellule correspondante dans le tableau situé dans l'onglet "Listes" donc égale a "C2" de couleur vert et idem pour les autre couleurs
Je voudrais compiler la chose sous forme de macro et ne pas faire de mise en forme conditionnelle
Je joint un petit fichier
merci
 

Pièces jointes

  • TEST V1.xlsx
    10.7 KB · Affichages: 26
  • TEST V1.xlsx
    10.7 KB · Affichages: 29
Dernière édition:

JHA

XLDnaute Barbatruc
Re : Colorier une cellule aprés recherche dans une liste

Bonjour à tous,

Un essai des MFC avec:
Code:
=ESTNUM(EQUIV(B4;Listes!$A$2:$A$9;0))

JHA
 

Pièces jointes

  • TEST V1.xlsx
    16 KB · Affichages: 28
  • TEST V1.xlsx
    16 KB · Affichages: 23

sousou

XLDnaute Barbatruc
Re : Colorier une cellule aprés recherche dans une liste

Bonjour

Un tout petit code à finaliser en fonction de tes besoins
Ici je nomme le tableau de couleurs ("couleurs")
Je selectionne la zone à colorier, et je lance la macro deb
La même chose pour effacer le traitement avec la macro efface

Change la manière de sélectionner la zone en fonction de ton utilisation
 

Pièces jointes

  • TESTcouleur V1.xlsm
    17.1 KB · Affichages: 29

st007

XLDnaute Barbatruc
Re : Colorier une cellule aprés recherche dans une liste

Bonsoir,
dans le code de la feuille et la plage nommée

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Not Intersect(Target, Range("B4:E31")) Is Nothing Then
    For Each c In Sheets("Listes").Range("codecouleur")
        If Target.Value = c.Value Then
            Range(Target, Target).Interior.Color = c.Interior.Color
        End If
    Next c
End If
End Sub
 

Pièces jointes

  • TEST V1 (1).xlsm
    17.1 KB · Affichages: 29

Myst

XLDnaute Occasionnel
Re : Colorier une cellule aprés recherche dans une liste

Bonsoir st007
La proposition me convient parfaitement mais si le texte saisie dans l'onglet "TABLEAU" ne correspond a aucune données de la liste de l'onglet "Listes" je voudrais que la cellule reste blanche
merci
 

st007

XLDnaute Barbatruc
Re : Colorier une cellule aprés recherche dans une liste

re,

bien sure, j'aurai du y penser, ajoute (Target.Interior.Color = xlNone)

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Not Intersect(Target, Range("B4:E31")) Is Nothing Then
Target.Interior.Color = xlNone
    For Each c In Sheets("Listes").Range("codecouleur")
        If Target.Value = c.Value Then
            Range(Target, Target).Interior.Color = c.Interior.Color
        End If
    Next c
End If
End Sub
 

Myst

XLDnaute Occasionnel
Re : Colorier une cellule aprés recherche dans une liste

Bonjour, st007, le forum
merci pour le complement de code ca fonctionne bien, il y a juste un problème lorsque je supprime le texte dans plus d'une cellule en meme temps,j'ai un bug ?

j'aurais une autre demande ,je voudrais que les codes couleurs soient non pas sur une seul feuille "Listes" mais sur 5 ,une couleur par feuille afin de pouvoir ajouter ou retirer des noms des listes indépendamment les uns des autres
J'ai joint la version V4
Encore merci
 

Pièces jointes

  • Test v4.xlsm
    22.9 KB · Affichages: 42
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 262
Messages
2 086 643
Membres
103 345
dernier inscrit
SabSab