Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

formatage conditionnel avec plus de 3 conditions

I

Ibak

Guest
Bonjour,


Juste pour situer mon niveau, j'utilise frequemment excel mais n'ai aucune connaissance des macros.

Mon projet est le suivant: Des intensites mesurees via un spectrometre sont listees dans une colonne (en fonction du temps). L'idee est d'attribuer un niveau de gris different pour chaque fenetre d'intensite et d'afficher cette couleur dans la colonne adjacente. Voici un exemple:


Col A Col B
Intensite Couleur affichee
1 Blanc
6 Gris 60%
10 Noir
2 Gris 20%
3 Gris 30%
10 Noir
1 Blanc

J'ai auparavant fait une table qui definit quelles fenetres d'intensite correspondent a quelles couleurs. Les bornes des fenetres sont donc listees sur la feuille (definies en fonction des intensites mini et maxi observees)..


Le probleme est que le formatage conditionnel autorise seulement 3 conditions, c.ad. 3/4 couleurs. Il m'en faudrait au moins 20, dans le meilleur des mondes les 56 de la palette.

Comment faire? Une macro? Quelque chose d'autre?

Note: Idealement je voudrais rentrer les parametres RGB qui definissent la couleur correspondant a chaque fenetre d'intensite dans ma liste des bornes.

Une idee, merci beaucoup!

Cordialement,
 
I

Ibak

Guest
Bon je me lance un debut de reponse a moi meme. J'ai lu le thread suivant:

http://www.excel-downloads.com/html/French/forum/read.php?f=1&i=94194&t=72102


Le probleme est que les exemples sont presentes pour des cellules contenant des chaines de caracteres. Je ne veux pas tester :

cellule x = "toto" ==> couleur correspondant a toto

mais

cellule x > 2 ET cellule x <3 ==> couleur correspondant a la fenetre 2-3



Quelles sont les modifs a faire?
Merci....

A+
 
H

Hervé

Guest
salut

tu trouveras en pièce jointe un fichier qui modifie la couleur de b10 suivant la valeur de a10.


salut
hervé
 

Pièces jointes

  • Classeur5.zip
    7 KB · Affichages: 111
  • Classeur5.zip
    7 KB · Affichages: 121
  • Classeur5.zip
    7 KB · Affichages: 124
I

Ibak

Guest
Merci pour la reponse rapide!!!

C'est exactement ce qu'il me faut.

Que faut il changer a : valeur = Range("a10").Value

Pour que la regle s'applique a un champ (i.e. une colonne) et non pas a une seule cellule, dans mon cas j'ai une colonne qui contient presque 6000 valeurs (D26000).

Desole de mon incompetence en vb...

A+
 
H

Hervé

Guest
resalut


Pour 6000 données, on utilise une autre méthode, à l'aide d'un bouton, pour choisir le moment du traitement (relativement long).

regarde la pièce jointe.

PS : n'hésite pas à joindre une pièce jointe.

salut
hervé
 

Pièces jointes

  • ibak.zip
    47.8 KB · Affichages: 91
N

NiKo

Guest
Merci pour le Ibak.zip.

Une autre kestion par rapport a ca : comment fait ton pour colorier le text de la cellule et non l'interieur de la cellule tjs en VBA car la forme condtionnel et la "=si" sont tro long a faire.

je vous join l'exemple.

Merci a tous

a bientot
 

Pièces jointes

  • DurDur.zip
    11.3 KB · Affichages: 54
H

Hervé

Guest
salt niko


je pense que tu as trouvé une réponse par @thierry sur ce post :

<http://www.excel-downloads.com/html/French/forum/messages/1_111801_111801.htm>

salut
Hervé
 
I

Ibak

Guest
Merci Herve!

La nouvelle solution est encore mieux. Ca marche nickel.
Pour finaliser l'affaire, je voudrais savoir s'il y a moyen d'ecrire quelque chose pour transformer la palette par defaut en une palette en niveau de gris.
Avec colorindex=1 blanc et colorindex=56 noir, avec des niveaux de gris progressifs entre les deux.

j'imagine qu'il faut ecrire une boucle dans laquelle on bouge les parametres RGB d'un certain pas. Par contre je ne connait par la methode pour assigner un jeu de parametres RGB a une valeur de colorindex.

A bientot,
 
P

Pascal76

Guest
Bonjour

Pour la couleur grise il suffit de mettre toutes les couleurs RGB à la même valeur

par exemple

Range("A1").Interior.Color = RGB(200, 200, 200)

cela va du noir
Range("A1").Interior.Color = RGB(0, 0, 0)

au blanc
Range("A1").Interior.Color = RGB(255, 255, 255)

Bon courage

Pascal
 
I

Ibak

Guest
Merci.
Dans ce cas on n'utilise plus colorindex alors???


finalement entre temps, je suis passe par le nuancier dispo en telechargement sur le site. Tres bien fait ce classeur.
J'ai toutes les infos, merci a tous! Je n'ai plus qu'a me lancer dans le copier/coller pour mes 56 conditions ^-^

Super forum en tout cas. Il faut raiment que je mette au vba, c'est trop puissant!

A bientot
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…