[Excel ou VB?] MEFC modifiant autre cellule

Résolu/Fermé
greengrin Messages postés 3 Date d'inscription mardi 15 août 2006 Statut Membre Dernière intervention 18 août 2006 - 15 août 2006 à 15:02
greengrin Messages postés 3 Date d'inscription mardi 15 août 2006 Statut Membre Dernière intervention 18 août 2006 - 18 août 2006 à 19:29
Bonjour,

Cela fait un bout de temps que je cherche une solution pour mettre en forme des cellules avec plus de 3 conditions sans trouver de réponse satisfaisante... (j'ai 5 conditions pour le moment)

Les mises en formes conditionnelles se limitent à 3 conditions, j'ai vu qu'il était possible de mettre en forme les cellules avant d'y appliquer des conditions mais cela ne solutionne pas mon souci, cela ne semble ne s'appliquer qu'au texte, alors que je cherche seulement à mettre un fond de couleur différente selon les valeurs contenues dans certaines autres cellules.

Tout ce que j'ai trouvé pour l'instant ce sont des macros pour modifier les cellules elles mêmes et non d'autres cellules cibles.


Le problème :

J'ai deux colonnes A et B, et je souhaiterait appliquer ces conditions sur toutes les cellules de A en fonction des cellules de B :

si B1 = haricot alors A1 est en fond vert
si B1 = tomate alors A1 est en fond rouge
si B1 = raisin alors A1 est en fond violet
si B1 = citron alors A1 est en fond jaune
si B1 = orange alors A1 est en fond orange
petit plus si possible : si B1 est différent de haricot, tomate, raisin, citron ou orange, alors n'appliquer aucune couleur de fond sur la cellule A1

et ainsi de suite sur A2 en fonction de B2, A3 en fonction de B3 etc etc...


Je vous remercie d'avance de m'apporter vos lumières car je suis un peu perdu!!
greengrin
A voir également:

4 réponses

Armojax Messages postés 1858 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 22 mars 2024 1 528
18 août 2006 à 17:56
Copie ça dans le code de la feuille concernée (le code de Feuil1 par exemple) :
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column <> 2 Then Exit Sub
  Dim I As Long
  I = Target.Row
  Select Case UCase(Cells(I, 2).Value)
    Case "HARICOT": Cells(I, 1).Interior.ColorIndex = 4
    Case "TOMATE": Cells(I, 1).Interior.ColorIndex = 3
    Case "RAISIN": Cells(I, 1).Interior.ColorIndex = 39
    Case "ORANGE": Cells(I, 1).Interior.ColorIndex = 45
    Case "CITRON": Cells(I, 1).Interior.ColorIndex = 6
    Case Else: Cells(I, 1).Interior.ColorIndex = xlNone
  End Select
End Sub
1
greengrin Messages postés 3 Date d'inscription mardi 15 août 2006 Statut Membre Dernière intervention 18 août 2006 1
18 août 2006 à 19:29
C'est EXACTEMENT ce que je recherchais!
et ça marche tip top!!

Enfin une solution fonctionne, Merci beaucoup pour ton aide!!

greengrin
1
Armojax Messages postés 1858 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 22 mars 2024 1 528
16 août 2006 à 18:30
Salut

"Tout ce que j'ai trouvé pour l'instant ce sont des macros pour modifier les cellules elles mêmes et non d'autres cellules cibles."

Eh oui, je pense qu'il faut que tu passes par une macro.
0
greengrin Messages postés 3 Date d'inscription mardi 15 août 2006 Statut Membre Dernière intervention 18 août 2006 1
18 août 2006 à 16:12
oui je lepense aussi, mais comme je l'expliquais (plus ou moins clairement) dans mon message, celles que j'ai testées ne me donnent pas le resultat escompté...
0