Vba couleur cellule
panda567
-
eriiic Messages postés 25847 Statut Contributeur -
eriiic Messages postés 25847 Statut Contributeur -
Bonjour,
Dans une feuille excel, j'ai une colonne nommée "evaluation " qui est la colonne H. Dans cette colonne j'ai les évaluations des différents disons reporter sur chaque ligne. Cette évaluation est sur et j'aimerais colorier le fonds de la cellule uniquement ( pas la colonne entière ) selon la nnote contenue dans la cellule. J'ai réussi les conditions sans problèmes mais je n'arrive pas à
1) Faire que cette macros traite uniquement ma colonne H ou 8
2) Selectionner les valeurs des cellules de toute la colonne pour ne pas devoir faire un code uniquement avec des conditions pour chaque ligne.
Voici mon code :
Qqu pourrait il m'aider svp ? :)
Merci d'avance et bonne fête !
Dans une feuille excel, j'ai une colonne nommée "evaluation " qui est la colonne H. Dans cette colonne j'ai les évaluations des différents disons reporter sur chaque ligne. Cette évaluation est sur et j'aimerais colorier le fonds de la cellule uniquement ( pas la colonne entière ) selon la nnote contenue dans la cellule. J'ai réussi les conditions sans problèmes mais je n'arrive pas à
1) Faire que cette macros traite uniquement ma colonne H ou 8
2) Selectionner les valeurs des cellules de toute la colonne pour ne pas devoir faire un code uniquement avec des conditions pour chaque ligne.
Voici mon code :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Color cell according to evaluation
'Target column 8 or H, column of evaluation and put the condition
If Target.Column = 8 Then
Valeur = Range.value
If Valeur < 5 Then 'If the evaluation is under 5 then the color of the cell will be black
Range.Interior.ColorIndex = 30
ElseIf Valeur = 5 Or Valeur = 6 Then 'If the evaluation is 5 or 6 then the color of the cell will be cyan
Range.Interior.ColorIndex = 46
ElseIf Valeur = 10 Then 'If the evaluation is 10 then the color of the cell will be blue
Range.Interior.ColorIndex = 3
ElseIf Valeur = 0 Or Valeur = 1 Then ' 'If the evaluation is 0 or 1 then the color of the cell will be red
Range.Interior.ColorIndex = 3
Else 'In other case, the cell will be white
Range.Interior.ColorIndex = 2
End If
End If
End Sub
Qqu pourrait il m'aider svp ? :)
Merci d'avance et bonne fête !
A voir également:
- Vba couleur cellule
- Excel cellule couleur si condition texte - Guide
- Excel compter cellule couleur sans vba - Guide
- Boite a couleur - Télécharger - Divers Photo & Graphisme
- Proteger cellule excel - Guide
- Excel si cellule contient partie texte ✓ - Forum Excel
2 réponses
Bonjour,
Essaie cela
Essaie cela
Option Explicit
Dim Valeur As Variant
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For_X_to_Next_Ligne
End Sub
Sub For_X_to_Next_Ligne()
Dim FL1 As Worksheet, Cell As Range, NoCol As Integer
Dim NoLig As Long
Dim DernLigne As Long
DernLigne = Range("A1048576").End(xlUp).Row
'Instance de la feuille qui permet d'utiliser FL1 partout dans
'le code à la place du nom de la feuille
Set FL1 = Worksheets("Feuil1")
'Fixe le N° de la colonne à lire
NoCol = 8
'Utilisation du N° de ligne dans une boucle For ... Next
For NoLig = 1 To DernLigne
Valeur = FL1.Cells(NoLig, NoCol)
With FL1.Range("H" & NoLig)
If Valeur < 5 Then 'If the evaluation is under 5 then the color of the cell will be black
.Interior.ColorIndex = 30
ElseIf Valeur = 5 Or Valeur = 6 Then 'If the evaluation is 5 or 6 then the color of the cell will be cyan
.Interior.ColorIndex = 46
ElseIf Valeur = 10 Then 'If the evaluation is 10 then the color of the cell will be blue
.Interior.ColorIndex = 3
ElseIf Valeur = 0 Or Valeur = 1 Then ' 'If the evaluation is 0 or 1 then the color of the cell will be red
.Interior.ColorIndex = 3
Else 'In other case, the cell will be white
.Interior.ColorIndex = 2
End If
End With
Next
Set FL1 = Nothing
End Sub