XL 2019 Renvoyer la valeur d'une cellule en fonction de sa couleur RÉSOLU

gigiwin

XLDnaute Occasionnel
Bonjour,

Existe-t-il une formule pour renvoyer la valeur d'une cellule en fonction de sa couleur?
J'ai noté les chiffres manuellement, mais cela est très long.

Je voudrais, si la couleur existe sur la plage:
En K3, le chiffre qui est dans la plage B2:I2 colorée comme la cellule K2.
En L3, le chiffre qui est dans la plage B2:I2 colorée comme la cellule L2.
En M3, le chiffre qui est dans la plage B2:I2 colorée comme la cellule M2.
Et ainsi de suite...pour toutes les lignes.

J'ai tenté plusieurs approches mais aucunes ne fonctionnent pleinement.
Je vous remercie à l'avance de votre aide.
 

Pièces jointes

  • couleur.xlsx
    12.7 KB · Affichages: 16

Dranreb

XLDnaute Barbatruc
Bonjour.
Les valeurs en B3:I32 sont donc sans importance ?
En K3, à propager sur 30 lignes et 5 colonnes :
Code:
=SIERREUR(EQUIV(K$1;NO_COULEUR($B3:$I3);0);"")
N'ayant pas le complément utilisé, j'ai écrit dans un module standard :
VB:
Option Explicit
Function NO_COULEUR(ByVal Rng As Range) As Variant()
   CalcNo_Couleur NO_COULEUR, Rng
   End Function
Sub CalcNo_Couleur(T(), ByVal Rng As Range)
   Dim L&, C&
   ReDim T(1 To Rng.Rows.Count, 1 To Rng.Columns.Count)
   For L = 1 To UBound(T, 1): For C = 1 To UBound(T, 2)
      T(L, C) = Rng(L, C).Interior.Color
      Next C, L
   End Sub
Bien entendu en K1, propagé sur 5 colonnes :
Code:
=NO_COULEUR(K2)
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Gigiwin, Dranreb,
Avec des formules, je ne sais pas. Je suis sous XL2007 et assez limité dans ce domaine.
Mais en VBA, sans problème, voir PJ avec :
VB:
Sub Colore()
Application.ScreenUpdating = False
Dim Col%, L%, C%, Couleur
For Col = 11 To 15
    Couleur = Cells(2, Col).Interior.Color
    For C = 2 To 9
        For L = 3 To 32
           If Cells(L, C) = Cells(L, Col) Then Cells(L, C).Interior.Color = Couleur
        Next L
    Next C
Next Col
End Sub
 

Pièces jointes

  • couleur.xlsm
    20.2 KB · Affichages: 9

gigiwin

XLDnaute Occasionnel

TooFatBoy

XLDnaute Barbatruc
Mais en VBA, sans problème, voir PJ avec :
Merci, cela fonctionne.
Mais comment actualiser si je change les couleurs de place en B:I?
Ah mince, moi j'ai fait le contraire : Je n'ai pas colorié le tableau de gauche en fonction des valeurs du tableau de droite, j'ai mis les valeurs du tableau de gauche dans le tableau de droite en fonction des couleurs. :(
 

TooFatBoy

XLDnaute Barbatruc
Pas compris. Les couleurs du tableau de gauche sont issus des couleurs de K2:O2.
Il suffit de changer ces couleurs et de ré actualiser. Non ?
Je crois qu'il faut remplir le tableau de droite avec la valeur de la cellule qui a la même couleur que celle d'en-tête du tableau de droite.

Je voudrais, si la couleur existe sur la plage:
En K3, le chiffre qui est dans la plage B2:I2 colorée comme la cellule K2.
Je crois qu'il faut comprendre : En K3, inscrire le nombre contenu dans la cellule, de la plage B3:I3, qui est de la même couleur que K2.
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 949
Membres
101 851
dernier inscrit
vaiata