Mise en forme conditionnelle

Résolu
roxylady83 Messages postés 2 Statut Membre -  
Heliotte Messages postés 1561 Statut Membre -
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!!!!

4 réponses

  1. Heliotte Messages postés 1561 Statut Membre 92
     
    Bonsoir roxylady83,
    Changer la couleur, c'est tout à fait faisable .. mais pour combien de conditions ?
    0
    1. roxylady83 Messages postés 2 Statut Membre
       
      Pour 5 conditions...
      0
    2. 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
  2. Heliotte Messages postés 1561 Statut Membre 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
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    1. Heliotte Messages postés 1561 Statut Membre 92
       
      Merci michel_m pour les couleurs, même si cela ne m'étais pas destiné !
      0
  4. roxylady83
     
    Bonsoir,

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