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

  • Initiateur de la discussion Initiateur de la discussion smicard
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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
 
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.
 
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.
 
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
 
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

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...
 
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..;
 
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:
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
 
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

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour