si couleur = alors

zesuila

XLDnaute Occasionnel
Bonjour
Je voulais savoir s'il était possible de filtrer une colonne selon la couleur du fond.
J'ai bien vu le fichier de J boisgontier mais il n'est pas "gérable" dans mon appli

Donc pour contourner le problème, peut on demander à excel de me dire si par ex
en A1 , le fond est rouge alors en B1 mettre rouge
en A2, le fond esrt bleu alors en b2 mettre bleu
et ainsi de suite pour une dizaine de couleur (donc l'utilisation du mfc est pas possible)
comme ça je pourrais faire un filtre auto sur le niom de la couleur

allez... je suis sûr que vous allez me concpcter encore une fois un joli vba ou formule

merci
 

mromain

XLDnaute Barbatruc
Re : si couleur = alors

bonjour Zesuila,


Code:
Function getColor(laRange As Range) As Double
getColor = laRange.Interior.Color
End Function


cette fonction renvoie le "code couleur" d'une cellule.

je ne maitrise pas les MFC, mais tu peux sûrement t'en servir avec un truc du genre:
"si getColor(A1)=255"... (pour tester si A1 a un fond rouge par exemple).

a tester, tiens-nous au jus


a+
 

mromain

XLDnaute Barbatruc
Re : si couleur = alors

re,

oui, il faut la mettre dans un module.
pour son utilisation, je t'ai fait un petit exemple (sans MFC) dans le fichier ci-joint.

a+
 

Pièces jointes

  • Classeur1.xls
    29 KB · Affichages: 1 907
  • Classeur1.xls
    29 KB · Affichages: 1 653
  • Classeur1.xls
    29 KB · Affichages: 1 677

zesuila

XLDnaute Occasionnel
Re : si couleur = alors

alors voilà cela me va bien mais y aurait il une solution pour qu'au lieu de chiffre il y est par ex le nom de la couleur, voire même mieux pour mon cas, un mot précis :
en A1 fond rouge donc en b2 = coucou
en a2 fond bleu donc en b2 = salut
pour qu'nesuite l'utilisateur puisse choisir dans un filtre auto le mot
 

nolich

XLDnaute Occasionnel
Re : si couleur = alors

Bonjour Zesuila et mromain, bonjour à toutes et à tous :)

Juste un petit fichier pour le fun. Cela fera rejaillir des souvenirs enfouis à ceux qui ont pratiqué Excel 4 : LIRE.CELLULE.

@+
 

Pièces jointes

  • Zesuila.xls
    18.5 KB · Affichages: 1 042

mromain

XLDnaute Barbatruc
Re : si couleur = alors

re,

je t'ai fait une autre fonction à addapter dans ton cas (pour les codes couleurs)

a+
 

Pièces jointes

  • Classeur1.xls
    31 KB · Affichages: 1 274
  • Classeur1.xls
    31 KB · Affichages: 967
  • Classeur1.xls
    31 KB · Affichages: 1 018

zesuila

XLDnaute Occasionnel
Re : si couleur = alors



Pour Jacques
bonjour jacques
oui j'avais bien vu ton code (tu es une de mes bibles excel !:cool: )
mais je n'arrive pas à l'adapter à mon exemple si dessus
Si tu as un moment pour me l'expliquer je suis :eek: grands ouverts !!!

Pour mroamin
oui cela fonctionne à merveille. Merci :D
Petite question cela n'est pas gênant d'avoir donc 10 lignes de fonction dans un même code ?

pour nolich
je teste et je te dis ;)

encore merci
 

zesuila

XLDnaute Occasionnel
Re : si couleur = alors

pour mromain
seul tout petit soucis
pour que le mot apparaisse il faut faire un recalcul (pas pour le code couleur, lui il apparait automatiquement
j'ai mis un calculate en fin dans la fonction mafonction mais toujours pas d'actualisation
 

zesuila

XLDnaute Occasionnel
Re : si couleur = alors

voilà ce que j'aimis
Function maFonction(laRange As Range) As String
Application.Volatile
If getColor(laRange) = 128 Then maFonction = "coucou"
If getColor(laRange) = 65280 Then maFonction = "salut"
mais non rien !
 

mromain

XLDnaute Barbatruc
Re : si couleur = alors

re,

tu peux peut-être essayer ça :

Function maFonction(laRange As Range) As String
Application.Volatile
If laRange.Interior.color = 128 Then maFonction = "coucou"
If laRange.Interior.color = 65280 Then maFonction = "salut"
...

à tester

a+
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz