[VBA] Changer la couleur d'une case

Bonjour,

Je suis un véritable novice dans le domaine de VBA, il faudra donc m'expliquer un peut le code.

Je cherche donc à changer la couleur d'une case en fonction de la valeur contenue sur d'autres cases (ne se trouvant pas forcement sur la même feuille de calcul)

Autrement dit je veut que la couleur de A1 sur la feuille "truc" change si la case B5=65 sur la feuille "machin" ET si la case F6=48 sur la feuille "chose".
Configuration: Windows XP
Firefox 2.0.0.6

3 réponses

  1. Bonjour barberousse

    Voici une solution qui me parait simple :

    Il te faut créer un nouveau module dans VBA (Menu 'Insertion -> Module'), puis tu tapes le code suivant :

    Sub ChgCouleur()
    If Sheets("machin").Range("b5").Value = 65 And Sheets("chose").Range("f6") = 48 Then
    Sheets("truc").Range("a1").Interior.ColorIndex = 6
    Else
    Sheets("truc").Range("a1").Interior.ColorIndex = 0
    End If
    End Sub


    Ensuite, dans les événements 'Change' de tes feuilles "machin" et "chose", tu tapes l'appel à cette procésure :

    Private Sub Worksheet_Change(ByVal Target As Range)
    ChgCouleur
    End Sub


    Explication :

    A chaque changement de valeur dans l'une des 2 feuilles, la procédure ChgCouleur est exécutée.
    Cette procédure lit la valeur de la cellule "b5" de la feuille "machin" et de la cellule "f6" de la feuille "chose".
    Si les valeurs trouvées sont respectivement 65 ET 48, le programme change alors la couleur de fond de la cellule "a1" de la feuille "truc" (6=jaune). Dans le cas contraire, elle remet la couleur par défaut (0=aucune).
    Tu peux tester les différentes couleurs possibles en modifiant la valeur '6').

    Espérant t'avoir aidé.

    Cordialement.
    8
    1. J'aimeeeeeeeee
      0
    2. En RGB on peut utiliser colorIndex??
      On fait comment sinon?
      0
    3. Merci Papou93, nickel chrome
      0