Modifier la couleur en fonction de la valeur d'une cellule

ThierryD

XLDnaute Nouveau
Tout d'abord bonjour à tous,

Je débute en VBA
Je sollicite votre aide pour le problème suivant: Je souhaiterais modifier la couleur d'une cellule en fonction de sa valeur.

Le fichier attaché est explicite pour exposer mon souci.
En fait, je voudrais que:
- lorsque la valeur de la cellule est B, Be, Bt; la couleur de fond soit orange
- lorsque la valeur de la cellule est T, bT, eT; la couleur de fond soit bleu
- lorsque la valeur de la cellule est E, bE, Et; la couleur de fond soit jaune

La mise en forme conditionnelle serait une solution si Excel tenait compte des minuscules et des majuscules car comme vous le devinez ces majuscules et minuscules ont de l'importance.

Merci d'avance pour votre aide.
Bien à vous
Thierry
 

Pièces jointes

  • couleur à modifier.xlsx
    37.5 KB · Affichages: 257

Modeste

XLDnaute Barbatruc
Re : Modifier la couleur en fonction de la valeur d'une cellule

Bonjout Thierry,

Avec la fonction EXACT, la MFC fonctionnerait, en utilisant une syntaxe telle que:
Code:
=OU(EXACT(H$6;"B");EXACT(H$6;"Be");EXACT($H6;"Bt"))

Ceci dit, en vba, c'est possible aussi ... à toi de nous dire!
 

JNP

XLDnaute Barbatruc
Re : Modifier la couleur en fonction de la valeur d'une cellule

Bonjour le fil :),
Une fonction personnalisée (merci au passage à Pierre-Jean pour ParamArray que je ne connaissais pas :eek:)
Code:
Function Comparaison(Cellule As Range, ParamArray Base()) As Boolean
Dim I As Byte
For I = LBound(Base) To UBound(Base)
    If Cellule = Base(I) Then Comparaison = True
Next I
End Function
en appliquant à la plage
Code:
$H$5:$AQ$40
la MFC
Code:
=Comparaison(H5;"B";"Bt";"Be")
Bonne journée :cool:
 

ThierryD

XLDnaute Nouveau
Re : Modifier la couleur en fonction de la valeur d'une cellule

Bonsoir,

Tout d'abord merci bien à vous.
Voici ce que donne les solutions:

Lorsque j'applique la MFC
Code :
=OU(EXACT(H$6;"B");EXACT(H$6;"Be");EXACT($H6;"Bt"))
Toute la colonne dans laquelle J'y inscrit B, Be ou Bt devient orange et je souhaiterai que seule la cellule dans laquelle j'inscris cela ne devienne orange. Je pense qu'une petite modification dans la formule suffirai pour que cela s'applique uniquement à la cellule...

Pour ce qui est de la fonction personnalisée, j'obtiens ceci: "nom ambigu: comparaison" lorsque j'inscris B, Be, Bt dans une cellule quelconque.

Je sollicite à nouveau de l'aide.
Merci d'avance.
 

ThierryD

XLDnaute Nouveau
Re : Modifier la couleur en fonction de la valeur d'une cellule

Bonsoir,

J'ai modifié le code comme suit:
=OU(EXACT(H6;"B");EXACT(H6;"Be");EXACT(H6;"Bt") )
Et ajouté les MFC suivantes:
=OU(EXACT(H6;"E");EXACT(H6;"bE");EXACT(H6;"Et") )
=OU(EXACT(H6;"T");EXACT(H6;"bT");EXACT(H6;"eT") )
en l'appliquant à la plage H5 à AQ40
Et voilà que cela marche!!!!

Merci beaucoup à vous!!
A bientôt!!!
 

Discussions similaires

Statistiques des forums

Discussions
314 450
Messages
2 109 730
Membres
110 553
dernier inscrit
loic55