Bonjour à tous,
Pour le boulot, je dois réaliser un fichier Excel.
A partir de certaines données d’une première feuille, j’affiche une note sur 100 sur une autre feuille.
Ce que j’aimerais faire, c’est utiliser une mise en forme conditionnelle sur la cellule contenant cette note.
Par exemple, entre 0 et 20, la cellule est verte. Entre 20 et 40 la cellule est jaunes, …
Jusque là, rien de compliqué, excel le fait très bien via le menu format.
Le problème, c’est que la mise en forme conditionnelle d’Excel (le 2003, pour le 2007 c’est différent) ne gère que 3 conditions.
En utilisant le format de base, cela signifie que je peux utiliser seulement 4 couleurs pour ma cellule.
Or, il m’en faut 5.
J’ai cherché sur internet et j’ai trouvé plusieurs solutions.
Par exemple:
[codebox]Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range(“d31”)) Is Nothing Then
With Target
Select Case Target.Value
Case “0”
.Interior.ColorIndex = 4
Case “1”
.Interior.ColorIndex = 45
Case “2”
.Interior.ColorIndex = 46
Case “3”
.Interior.ColorIndex = 3
End Select
End With
End If[/codebox]
Ce code fonctionne très bien (une fois adapté) lorsque l’on tape directement dans la case.
Cependant, dans mon cas, la note est calculée sur une feuille, et affichée dans une autre (où est la note).
Et, dans ce cas précis, l’astuce ne fonctionne plus.
J’ai également essayé des macros beaucoup plus avancés trouvées sur le net.
(Celle-ci par exemple)
Malheuresement, je tombe sur exactement le même problème.
Ma question est donc assez simple.
Avez-vous une piste pour résoudre ce problème ?
Merci d’avance.