Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Attribuer une couleur à un chiffre

  • Initiateur de la discussion Initiateur de la discussion Tibools
  • 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 !

T

Tibools

Guest
Chers maitres en art Excelien,

Mon problème est vraiment simple mais il sort déjà des capacités de la mise en forme automatique.

En écrivant un chiffre par case (je fais une sorte de relevé topographique), je souhaiterai donner un relief instantanné aux cases en les colorant : une couleur = une altitude.

Je voudrait assigner :
- au chiffre 0 la couleur blanche
- au chiffre 1 la couleur gris 20%
- au chiffre 2 la couleur gris 40%
- au chiffre 3 la couleur gris 60%
- au chiffre 4 la couleur gris 80%
- au chiffre 5 la couleur noir

Il serait idéal de pouvoir assigner la couleur
complémentaire pour le texte: le chiffre écris en blanc pour une case noir et le texte en noir pour une case blanche.

Merci d'avance pour le coup de main...

PS: En me donnant un coup de main, vous aidez un petit jeu étudiant à se développer...
 
Bonjour Tibools, LsL et le forum,

places la macro suivante dans le module de feuille. Dés qu'un changement interviendra dans la plage ('A1:B20'), la couleur changera.

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range('A1:B20')) Is Nothing Then
For Each cell In Target
If cell.Value = '' Then
cell.Interior.ColorIndex = xlNone
ElseIf cell.Value = 0 Then
cell.Interior.ColorIndex = 2
ElseIf cell.Value = 1 Then
cell.Interior.ColorIndex = 15
ElseIf cell.Value = 2 Then
cell.Interior.ColorIndex = 48
ElseIf cell.Value = 3 Then
cell.Interior.ColorIndex = 16
ElseIf cell.Value = 4 Then
cell.Interior.ColorIndex = 56
ElseIf cell.Value = 5 Then
cell.Interior.ColorIndex = 1
End If
Next
End If

End Sub

Cordialement

Bernard
 
Bonjour Lsl, Tibools, le forum

Tu peux essayer çà:

Private Sub Worksheet_Change(ByVal Target As Range)
ligne = Target.Row
colonne = Target.Column
If Target.Value = 0 Then Target.Interior.ColorIndex = 2
If Target.Value = 1 Then Target.Interior.Color = RGB(221, 221, 221)
If Target.Value = 2 Then Target.Interior.Color = RGB(178, 178, 178)
If Target.Value = 3 Then Target.Interior.Color = RGB(128, 128, 128)
If Target.Value = 4 Then Target.Interior.Color = RGB(80, 80, 80)
If Target.Value = 5 Then Target.Interior.ColorIndex = 1
End Sub

Puis modifie les valeurs dans RGB pour obtenir tes niveaux de gris.
Cette macro est ta mettre dans le module de ta feuille.
 
Bonjour Tibools, LsL, CBernardT, globinours, Danix,

Parmi toutes ces possibilités, j'en ajoute une issue du fil de discussion Lien supprimé (voir le fichier joint à mon post du - 26/09/2005 11:36).
Cette macro permet de gérer plus de 3 formats conditionnels et à l'avantage de laisser l'utilisateur adapter facilement ses formats prédéfinis sans avoir à intervenir dans le code VBA...

Cordialement,
 
Bonjour à tous, Lsl, le forum

Je vous remercie tous pour votre aide.
Au final j'utilise le fichier de MyDeaurFriend! car je suis trop nul en excel pour copier coller correctement les lignes de code que vous m'avez fourni (merci quand même).

Ah ! Si tous les hommes de cette planète étaient aussi altruistes que vous chers membres de ce forum, it would be even...

Thibaud 😉
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
586
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…