Comment faire changer la couleur de fond d'une cellule en fonction de sa valeur

smicard

XLDnaute Nouveau
Bonjour à tous,

Je me permets de vous écrire pour savoir si quelqu'un pourrais m'aider à faire changer le fond de couleur d'une cellule en fonction de sa valeur, mais avec 8 valeurs différentes donc 8 couleurs.
cela n 'est pas faisable en mise en forme conditionnel car il n'y a que 3 conditions...

En résumer j'aurai besoin de:

Cellule fond rouge si > 320
Cellule fond orange si entre 230 et 320
Cellule fond vert foncé si entre xx et YY etc...

Mon excell est en francais..

Merci d'avance pour votre aide préciseuse.

Sylvain
 

smicard

XLDnaute Nouveau
Re : Comment faire changer la couleur de fond d'une cellule en fonction de sa valeur

Merci pour ta réponse, mais il n'y aurais pas un truc plus simple que cela pour faire ce que je veux faire, je ne comprends pas bien ...

Sylvain
 

jeanpierre

Nous a quitté
Repose en paix
Re : Comment faire changer la couleur de fond d'une cellule en fonction de sa valeur

Re, Bonjour mth,

Plus simple, non je ne pense pas.

Mais si tu étudies bien, ce n'est pas très compliqué. Quelques minutes à prendre.

Pense toutefois, et n'oublie pas, qu'il est difficile de faire un truc complexe avec du simple.

Si tu ne comprends pas, pose les questions des trucs qui te gènent.
 

jeanpierre

Nous a quitté
Repose en paix
Re : Comment faire changer la couleur de fond d'une cellule en fonction de sa valeur

Re,

C'est vrai que 5 minutes entre mon post et ta réponse....

Le temps de voir que tu as une réponse, de la lire, de se connecter au lien, d'ouvrir le fichier les cinq minutes sont déjà bien passées.

Ou bien ta méthode d'analyse est plus que parfaite....

Etudie le fichier, tu as tout à gagner.
 

vbacrumble

XLDnaute Accro
Re : Comment faire changer la couleur de fond d'une cellule en fonction de sa valeur

Bonjour tous

smicard
Si je suis ta logique , voici tes 8 conditions ? C'est exact ?

>320______:conditon 1
230/320___:conditon 2
140/230___:conditon 3
50/140____:conditon 4
0/50______:conditon 5
-40/0_____:conditon 6
-130/-40__:conditon 7
-220/-130_:conditon 8
 

smicard

XLDnaute Nouveau
Re : Comment faire changer la couleur de fond d'une cellule en fonction de sa valeur

Bon je ne suis pas un super utilisateur d'excel...

Je vous ai mis le fichier que je voudrais faire comme expliqué plus haut, dans le tableau de la page de droite, j'aimerais retrouver dans les colonnes P, F et E lec ouleur des tableau ou est définies leur valeur, et de meme pour le résultat du calcul PxF xE...

Si quelqu'un peux me montrer un exemple dans mon fichier je ferais le reste mais la je suis bloqué...

Merci d'avance

SM
 

Pièces jointes

  • METHODE KYNNET.xls
    34 KB · Affichages: 220

jeanpierre

Nous a quitté
Repose en paix
Re : Comment faire changer la couleur de fond d'une cellule en fonction de sa valeur

Re, Bonsoir JB, re de re vbacrumble,

L'exemple, tu l'as dans le lien que je t'ai donné...

L'exemple, tu l'as dans les fichiers de BOISGONTHIER...

Que faire de plus ? Il faut que tu d'investisses un peu...
 

smicard

XLDnaute Nouveau
Re : Comment faire changer la couleur de fond d'une cellule en fonction de sa valeur

Merci messieurs, mais je ne comprend pas comment fonctionne vos exemples, ils fonctionnent c'est sur, mais comment le transposer sur mon tableau ca je n'y arrive pas..;
 

vbacrumble

XLDnaute Accro
Re : Comment faire changer la couleur de fond d'une cellule en fonction de sa valeur

Re, bonsoir aux autres, re jeanpierre


Smicard

Voilà de quoi t'investir ;)

Il te suffit copier le code dans le code de la feuille nommée : Feuil1
(Clic-droit sur l'onglet -> Visualiser le code -> Copier/Coller le code ci-dessous

Ensuite il te faudra changer les chiffres bleus avec les bonnes couleurs

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Column
Case 15
[COLOR="DarkGreen"]'///// debut code à copier/////[/COLOR]
With Target
    .Interior.ColorIndex = _
    Switch(.Value = 0.1, [COLOR="Blue"]3[/COLOR], .Value = 0.2, [COLOR="Blue"]4[/COLOR], .Value = 0.5, [COLOR="Blue"]4[/COLOR], .Value = 0.5, [COLOR="Blue"]5[/COLOR], _
    .Value = 1, [COLOR="Blue"]6[/COLOR], .Value = 3, [COLOR="Blue"]7[/COLOR], .Value = 6, [COLOR="Blue"]8[/COLOR], .Value = 10, [COLOR="Blue"]9[/COLOR])
End With
[COLOR="DarkGreen"]'///// fin code à copier ///[/COLOR]
Case 16
[COLOR="DarkGreen"]' recopier et adapter les valeurs et les codes couleurs ici[/COLOR]
Case 17
[COLOR="DarkGreen"]' recopier et adapter les valeurs et les codes couleurs ici[/COLOR]
End Select
End Sub

PS: pour trouver l'index des couleurs utilisées cette fonction
(à copier dans un module standard -> Dans Visual Basic Editor
Faire -> Insertion/Module puis copier le code ci-dessous
Code:
Function CodeCouleur(r as range)
CodeCouleur=r.Interior.ColorIndex
End Function

ensuite pour savoir le code couleur de la cellule D20 par exemple
saisir en E20: =CodeCouleur(D20)

Bon courage à toi.
 
Dernière édition:

smicard

XLDnaute Nouveau
Re : Comment faire changer la couleur de fond d'une cellule en fonction de sa valeur

Je ne peux que vous remercier pour tous vos conseils ou aide mais je ne comprends pas le principe de fonctionnement...

Je ne veux pas du tout maché, mais j'aimerais bien voir l'exemple dans mon fichier, il n'y aurait pas un pro comme l'un de vous qui pourrait me le faire dans la colonne E par exemple en faisant changer les couleur en fonction des chiffre repris dans le petit tableau e????

merci
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Comment faire changer la couleur de fond d'une cellule en fonction de sa valeur

Voir PJ


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect([ZoneMFC1], Target) Is Nothing And Target.Count = 1 Then
    p = Application.Match(Target, Range("couleurs1"), 0)
    If Not IsError(p) Then
     Target.Interior.ColorIndex = Range("couleurs1")(p).Interior.ColorIndex
    End If
  End If
  If Not Intersect([ZoneMFC2], Target) Is Nothing And Target.Count = 1 Then
    p = Application.Match(Target, Range("couleurs2"), 0)
    If Not IsError(p) Then
     Target.Interior.ColorIndex = Range("couleurs2")(p).Interior.ColorIndex
    End If
  End If
  If Not Intersect([ZoneMFC3], Target) Is Nothing And Target.Count = 1 Then
    p = Application.Match(Target, Range("couleurs3"), 0)
    If Not IsError(p) Then
     Target.Interior.ColorIndex = Range("couleurs3")(p).Interior.ColorIndex
    End If
  End If
End Sub

Couleurs1 =Feuil1!$D$19:$D$25
Couleurs2 =Feuil1!$D$28:$D$33
Couleurs3 =Feuil1!$G$19:$G$24
ZoneMFc1 =Feuil1!$O$8:$O$33
ZoneMFC2 =Feuil1!$P$8:$P$33
ZoneMFC3 =Feuil1!$Q$8:$Q$33


JB
 

Pièces jointes

  • Classeur1.xls
    40.5 KB · Affichages: 235
  • Classeur1.xls
    40.5 KB · Affichages: 447
  • Classeur1.xls
    40.5 KB · Affichages: 251
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 200
Messages
2 086 163
Membres
103 149
dernier inscrit
Deepkneec