COLORIER CELLULE MACRO VBA

LECAMELEON02 Messages postés 2 Statut Membre -  
 LECAMELEON02 -
Bonjour,

Bonjour tout le monde,
Mon problème sous Excel 2007.
Je voudrais colorier des cellules sous conditions en fonction de résultats.
J’ai essayé les MFC, mais ca plante quant je fais des copier coller.
Alors peut- être une macro vba.
Ex : si E1 = A1 couleur rouge si E1=B1 couleur orange si E1=A1 couleur jaune
Et ceci sur 9 lignes de A1 : A9
Et 9 colonnes de E1 :M1
J’espère que c’est assez clair pour vous.
J’ai testé ce petit bout de code, mais je ne suis pas sur d’être sur la bonne voie, car ca marche que sur la première cellule E1
Sub CouleurCoco()
If Range("E1") = Range("A1") Then
Range("E1").Interior.ColorIndex = 44
ElseIf Range("E1") = Range("B1") Then
Range("E1").Interior.ColorIndex = 29
ElseIf Range("E1") = Range("C1") Then
Range("E1").Interior.ColorIndex = 30
If Range("E2") = Range("A2") Then
Range("E2").Interior.ColorIndex = 44
ElseIf Range("E2") = Range("B2") Then
Range("E2").Interior.ColorIndex = 29
ElseIf Range("E2") = Range("C2") Then
Range("E2").Interior.ColorIndex = 30
End If
End If
End Sub

Merci
Configuration: Windows XP
Internet Explorer 7.0

3 réponses

  1. g Messages postés 1285 Statut Membre 578
     
    Bonjour,

    Essaie ce code à copier dans le module de feuille:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    For i = 1 To 9 'rangées de 1 à 9
    'condition 1
    If Range("A" & i) = Range("E" & i) Then 'colonne A = colonne E
    Range("E" & i, "M" & i).Interior.ColorIndex = 3 'rangée E:M rouge
    'condition 2
    ElseIf Range("B" & i) = Range("E" & i) Then 'colonne B = colonne E
    Range("E" & i, "M" & i).Interior.ColorIndex = 44 'rangée E:M Range
    'condition 3
    ElseIf Range("C" & i) = Range("E" & i) Then 'colonne C = colonne E
    Range("E" & i, "M" & i).Interior.ColorIndex = 27 'rangée E:M jaune
    'Pour annuler la couleur des cellules vidées
    ElseIf Range("A" & i) = "" Then 'colonne A
    Range("E" & i, "M" & i).Interior.ColorIndex = xlNone 'aucune couleur
    End If
    Next i
    End Sub

    Bonne journée.
    0
  2. LECAMELEON02 Messages postés 2 Statut Membre
     
    Bonjour,
    Merci G pour votre réponse rapide, c’est super sympa.
    Malheureusement je me suis mal exprimé, mille pardons.
    Dans l’exemple je voulais dire : E1 à E9 et E1 à L1 control de chaque cellule du tableau.
    COLONNES
    Ex : SI E1 = A1 couleur rouge SI E1=B1 couleur orange SI E1=A1 couleur jaune
    SI E2 = A2 couleur rouge SI E2=B2 couleur orange SI E2=A2 couleur jaune
    SI E3 = A3 couleur rouge SI E3=B3 couleur orange SI E3=A3 couleur jaune
    Jusqu’ à E9 = A9 couleur rouge SI E9=B9 couleur orange SI E9=A9 couleur jaune
    LIGNES
    SI E1 = A1 couleur rouge SI E1=B1 couleur orange SI E1=A1 couleur jaune
    SI F2 = A2 couleur rouge SI H2=B2 couleur orange SI H2=A2 couleur jaune
    SI G3 = A3 couleur rouge SI G3=B3 couleur orange SI G3=A3 couleur jaune
    Jusqu’ à L9 = A9 couleur rouge SI L9=B9 couleur orange SI L9=A9 couleur jaune.
    J’espère que c’est un peu plus clair.
    Merci et Bonne journée.
    0
  3. LECAMELEON02
     
    RECTIFICATION
    Bonjour, Merci G pour votre réponse rapide, c’est super sympa.
    Malheureusement je me suis mal exprimé, mille pardons.
    Dans l’exemple je voulais dire : E1 à E9 et E1 à L1 control de chaque cellule du tableau.
    COLONNES
    Ex : SI E1 = A1 couleur rouge SI E1=B1 couleur orange SI E1=A1 couleur jaune
    SI E2 = A2 couleur rouge SI E2=B2 couleur orange SI E2=A2 couleur jaune
    SI E3 = A3 couleur rouge SI E3=B3 couleur orange SI E3=A3 couleur jaune
    Jusqu’ à E9 = A9 couleur rouge SI E9=B9 couleur orange SI E9=A9 couleur jaune
    LIGNES
    SI E1 = A1 couleur rouge SI E1=B1 couleur orange SI E1=C1 couleur jaune
    SI F1 = A1 couleur rouge SI F1=B1 couleur orange SI F1=C1 couleur jaune
    SI G1 = A1 couleur rouge SI G1=B1 couleur orange SI G1=C1 couleur jaune
    Jusqu’ à L1 = A1 couleur rouge SI L1=B1 couleur orange SI L1=C1 couleur jaune.
    J’espère que c’est un peu plus clair.
    Merci et Bonne journée.
    0