XL 2016 mise en forme conditionnelle

richardlion

XLDnaute Occasionnel
bonjour à tous,
je recherche à faire une mise en forme conditionnelle sur deux colonnes avec du ET et OU (enfin je suppose que ceste la méthode)

exemple :
je souhaite dans ma colonne couleur I5, pour la colonne J pour les lettres et la colonne K pour les chiffres faire apparaitre la couleur correspondante

de la colonne P qui correspondent aux lettres et chiffres de la colonnes O

Sachant que dans ma colonne J ou K je peux avoir d'autres lettres ou d'autres chiffres qui eux ne seront pas pris en compte.

seul la sélection encadre O et P doit etre pris en compte
a votre disposition pour echange

Merci a vous
 

Pièces jointes

  • enlèvement test excel.xlsx
    165.5 KB · Affichages: 6

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @richardlion :),

Pas du tout certain d'avoir tout compris.
J'ai changé mon fusil d'épaule et je suis passé par macro.
Le tableau des couleurs a été transformé en tableau structuré ayant pour nom "lsoCouleurs"
Cliquer sur le bouton Hop!.
Le code est dans le module de la feuille "Liste des Runners" :
VB:
Sub Coloriser()
Dim tref, trans&, col&, der&, t, i&, k&

   tref = Me.ListObjects("lsoCouleurs").DataBodyRange
   For i = 1 To UBound(tref):
      tref(i, 1) = Application.Trim(Replace(tref(i, 1), Chr(160), " "))
      tref(i, 2) = Mid(tref(i, 1), 3)
      If Trim(tref(i, 2)) = "" Then tref(i, 2) = "" Else tref(i, 2) = " " & tref(i, 2) & " "
      tref(i, 1) = Trim(Left(tref(i, 1), 2))
   Next i
  
   trans = Range("lsoCouleurs").Row - 1
   col = Range("lsoCouleurs").Column + 1
   If Me.FilterMode Then Me.ShowAllData
   der = Cells(Rows.Count, "j").End(xlUp).Row
   t = Range("j1:k1").Resize(der)
  
   Application.ScreenUpdating = False
   Range("i2:i" & Rows.Count).Interior.ColorIndex = xlColorIndexNone
   For i = 5 To UBound(t)
      If Not IsError(t(i, 1)) Then
         t(i, 1) = Application.Trim(Replace(t(i, 1), Chr(160), " ")): t(i, 2) = Application.Trim(Replace(t(i, 2), Chr(160), " "))
         For k = 1 To UBound(tref)
            If tref(k, 1) Like t(i, 1) & "*" Then
               If tref(k, 2) Like "* " & t(i, 2) & " *" Then
                  Cells(i, "i").Interior.Color = Cells(k + trans, col).Interior.Color
               End If
            End If
         Next k
      End If
   Next i
End Sub
 

Pièces jointes

  • richardlion- enlèvement test- v1.xlsm
    176.9 KB · Affichages: 1

richardlion

XLDnaute Occasionnel
Merci ma pomme mais je recherche une mise en forme conditionnelle pour les raisons ci dessous.
dans mon fichier en PJ j'ai aussi mis la définition de mon souhait
j'ai deux indicateurs la colonne J pour les allées et la colonne K pour les racks dans la colonne O j'ai sélectionné des allées et des numéros de rack que je veux conserver pour ma mise en forme, exemple JH 1 et 2 ou JJ 1 et 2 et 3 et 4, je souhaite donc dans la colonne I retrouver ma couleur correspondante pour les lettres et chiffres que j'ai sélectionné en O. je souhaite que cela soit en mise en forme conditionnelle car ce test est un exemple je peux avoir des extractions différente et je devrais pourvoir changer ma mise en forme facilement en fonction des lettres et chiffres que j'aurais sélectionné, exemple concret sur le tableau ma cellule I8 est verte car j'ai JH en colonne J et 1 en colonne K cela est il possible
a votre disposition pour echange
 

Pièces jointes

  • enlèvement test excel.xlsx
    167.3 KB · Affichages: 1

Statistiques des forums

Discussions
312 207
Messages
2 086 248
Membres
103 164
dernier inscrit
axelheili2