[VBA] Changer la couleur d'une case

BarbeRousse -  
 Papi78 -
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".

3 réponses

Papou93 Messages postés 146 Date d'inscription   Statut Membre Dernière intervention   59
 
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
Informaticien
 
J'aimeeeeeeeee
0
guadoc Messages postés 70 Date d'inscription   Statut Membre Dernière intervention   5
 
En RGB on peut utiliser colorIndex??
On fait comment sinon?
0
Papi78
 
Merci Papou93, nickel chrome
0