Excel colorier cellules selon pourçentage [Résolu/Fermé]

Signaler
Messages postés
36
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
5 mai 2010
-
Messages postés
36
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
5 mai 2010
-
Bonjour à tous!

Encore un topic avec le coloriage de cellules... :S malheureusement je n'ai pas réussi à trouver mon bonheur en cherchant déjà dans les discussions existantes..

Voici ce que j'aimerai obtenir:

si % > 30% alors vert
si % entre 30% et 10% alors bleu clair
si % entre 10% et -10% alors jaune
si % entre -10% et -30% alors orange
si % < -30% alors rouge

Cellules concernées par cette macro:

(U8:U215) et (W8:W215)

Voili voilou... si quelqu'un peut me donner un coup de main..

Un grand merci!

Sangoran

3 réponses

Messages postés
16315
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
20 juillet 2020
9 574
Bonjour,

Il faut une macro événementielle. Quelque chose comme ça, à mettre dans le code de la feuille :

Private Sub Worksheet_Change(ByVal Target As Range) 
Dim cellule As Range 
Set cellule = Application.Intersect(Range("U8:U215, W8:W215"), Target) 
If cellule Is Nothing Then Exit Sub 
'On Error Resume Next 
Select Case Target.Value 
Case Is < -30 
Target.Interior.ColorIndex = 3 
Case Is < -10 
Target.Interior.ColorIndex = 45 
Case "" 
Target.Interior.ColorIndex = xlNone 
Case Is < 10 
Target.Interior.ColorIndex = 6 
Case Is < 30 
Target.Interior.ColorIndex = 34 
Case Is > 30 
Target.Interior.ColorIndex = 43 
End Select 

End Sub
--

m@rina
- "Sur le forum bureautique, on pose des questions concernant la bureautique..."
- "Ah bon ???"
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 57892 internautes nous ont dit merci ce mois-ci

Messages postés
36
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
5 mai 2010
4
Bonjour M@rina,

Merci pour ton aide! Cependant j'ai un code d'erreur " Erreur d'éxecution '13' " puis VBA s'ouvre directement et la ligne " Case Is < -30 " est sélectionnée en jaune..

Désolé mais je ne suis vraiment pas un spécialiste alors j'ai du mal à savoir comment résoudre ce problème :)

Une idée de quoi ça provient?
Messages postés
16315
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
20 juillet 2020
9 574
Bonjour,

Je pense que tu as dû agir sur plusieurs cellules à la fois ce qui ne marche pas avec une formule événementielle qui fonctionne sur le changement d'une seule cellule.

Retire l'apostrophe avant On Error Resume Next, mais ça ne règlera pas le problème de modifier plusieurs cellules à la fois.

Par ailleurs, j'avais oublié que tu traitais de % , donc à la place des chiffres entiers, il faut que tu mettres des décimales (en format américain) :
A la place de 30 => 0.3
A la place de - 10 => - 0.1
etc.

m@rina
Messages postés
36
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
5 mai 2010
4
Hello m@rina!

Alors...: UN GRAND MERCI!!!! ça fonctionne super!

1. Il fallait faire tes modifications dans VBA,
2. ensuite simplement sélectionner la 1ère cellule et faire un défilement pour étendre la série,
3. puis sélectionner chaque cellule l'une après l'autre, cliquer sur la barre de formule et appuyer "Enter".

(De cette manière ça modifie la couleur de la cellule suivant le pourçentage, sinon toutes les cellules ont la même couleur si on ne fait pas la dernière étape)

Encore une fois merci, tu m'as de nouveau bien aidé!

A ma prochaine question! ;) bon appétit et bonne journée..

Sangoran
Messages postés
51957
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
20 juillet 2020
13 684
Bonjour.
Le recours à une macro n'est pas obligatoire. On peut utiliser la mise en forme conditionnelle : 3 conditions donc 4 formats possibles avec Excel 2003 ; sans limitation avec Excel 2007.
Messages postés
36
Date d'inscription
mercredi 31 octobre 2007
Statut
Membre
Dernière intervention
5 mai 2010
4
Merci pour la réponse.., mais j'ai actuellement 5 conditions.., et sur Excel 2003. Donc je suis bloqué pour le moment..