Mise en forme conditionnelle

Résolu
roxylady83 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis actuellement obligée de travailler sur Excel 2003 et je suis bloqué par la limitation de mise en forme conditionnelle. Je pense avoir fait le tour des sites/forums proposant des solutions pour des problèmes similaires mais n'ai pas réussi à appliquer les solutions à mon cas. Je vous appelle donc au secours!!!
Je voudrai qu'en fonction de la valeur d'une cellule, la couleur de fond de la ligne varie.
Plus précisément, les cellules de la colonne BK peuvent prendre comme valeurs : "ACCEPTE","LITIGE","ATTENTE DR","EN COURS" et "RETARD". Je souhaite que lorsque la valeur est "ACCEPTE" la ligne soit verte, "LITIGE" en rouge,...

Je vous remercie par avance pour votre aide!!!!
A voir également:

4 réponses

Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   92
 
Bonsoir roxylady83,
Changer la couleur, c'est tout à fait faisable .. mais pour combien de conditions ?
0
roxylady83 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Pour 5 conditions...
0
G_33
 
Bonsoir

Je ne vois que 2 conditions !

D'après votre énoncé c'est ACCEPTE en vert et LITIGE en rouge !

Je me trompe ?
0
Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   92
 
Bonsoir roxylady83,
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Ligne As Integer, Colonne As Integer
    Dim i As Long, j As Long
    Dim LigneMin As Integer, LigneMax As Integer
    Dim ColonneMin As Integer, ColonneMax As Integer
    '
    LigneMin = 1: LigneMax = 10
    ColonneMin = 1: ColonneMax = 10
    '
    For i = LigneMin To LigneMax
        For j = ColonneMin To ColonneMax
            Select Case Cells(i, j).Value
                Case Is < 0
                    Range(Cells(i, j), Cells(i, j)).Font.ColorIndex = 3
                Case 0 To 99
                    Range(Cells(i, j), Cells(i, j)).Font.ColorIndex = 9
                Case 100 To 999
                    Range(Cells(i, j), Cells(i, j)).Font.ColorIndex = 12
                Case 1000 To 9999
                    Range(Cells(i, j), Cells(i, j)).Font.ColorIndex = 32
                Case 10000 To 99999
                    Range(Cells(i, j), Cells(i, j)).Font.ColorIndex = 48
            End Select
        Next j
    Next i
End Sub

Les conditions se trouvent au niveau des "Case Is < 0" ou "Case Nombre To Nombre".
Et pour les couleurs >> ColorIndex = Nombre
Voilou
0
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 314
 
Bonjour

essaies cette macro paramétrée
Sub colorier_ligne(cellule) 
Dim Lig As Integer 
'If cellule.Column <> 63 Then Exit Sub 
Lig = cellule.Row 

Select Case cellule 
     Case Is = "ACCEPTE" 
          Rows(Lig).Interior.ColorIndex = 3 'rouge 
     Case Is = "LITIGE" 
          Rows(Lig).Interior.ColorIndex = 4 'vert 
     Case Is = "ATTENTE DR" 
          Rows(Lig).Interior.ColorIndex = 6 'jaune 
     Case Is = "EN COURS" 
          Rows(Lig).Interior.ColorIndex = 8 'bleu 
     Case Is = "RETARD" 
          Rows(Lig).Interior.ColorIndex = 7 'rose 
     Case Else 
          Rows(Lig).Interior.ColorIndex = xlNone 
End Select 
End Sub


tu peux l'utiliser de 2 manières

1/ parcours de la colonne BK

for ligne=1 to 100 'dernière ligne a adapter 
   colorier_ligne cells(ligne,"BK") 
next 


2/ A la volée
dans le module feuille concerné
Private Sub Worksheet_Change(ByVal Target As Range) 
If Intersect(Target, Columns("BK")) Is Nothing Then Exit Sub 
colorier_ligne Target 
End Sub


pour choisir tes couleurs
https://www.cjoint.com/?3LnjxB7fB0V
Michel
0
Heliotte Messages postés 1491 Date d'inscription   Statut Membre Dernière intervention   92
 
Merci michel_m pour les couleurs, même si cela ne m'étais pas destiné !
0
roxylady83
 
Bonsoir,

J'ai réussi en adaptant la proposition d'Heliotte.
Merci à vous deux pour votre aide!!!
0