Attribuer une couleur à une cellule en fonction de la présence d'un nom

lotussss Messages postés 2 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 8 mai 2009 - 8 mai 2009 à 10:14
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 8 mai 2009 à 15:48
Bonjour à tous,

Je ne suis pas developpeuse, mon experience est minime. Je travaille par analogie, en enregistrant des macros à partir des fonctionnalités excel déjà existantes et je regarde pour decrypter comment c'est ecrit, je fais donc appel à votre grande indulgence....bref, mon objectif est le suivant : chaque jour je telecharge sur internet les données d'une banque, que j'insere à la suite dans un tableau excel. Je souhaite qu'en fonction des données ecrites dans les libellés de la banque, la cellule de la même ligne à la colonne +2 prenne telle ou telle couleur. Vous trouverez ci-dessous ce que j'ai rédigé, ce qui est en gras bug, faudrait savoir comment corriger....comment dois-je faire egalement pour que la macro continue à rechercher cette même donnée et appliquer le même chose, ou d'autres car il n'y aura pas que celle-là. Voilà merci.

Sub Macro7()
'
' Macro7 Macro
' Macro enregistrée le 08/05/2009 par lotus
'


'
    Cells.Find(What:= "virement", After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Activate
     Range(RC + 2).Select
    With Selection.Interior
        .ColorIndex = 6
        .Pattern = xlSolid
    End With
   
End Sub

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
8 mai 2009 à 13:27
Salut
Pourquoi ne pas utiliser la mise en forme conditionnelle (menu Format)
Tu pourra demander à la cellule de changer de format (dont la couleur) selon un équation.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
lotussss Messages postés 2 Date d'inscription mercredi 20 février 2008 Statut Membre Dernière intervention 8 mai 2009
8 mai 2009 à 14:47
Merci Jack,


Je viens de trouver l'option formule de la mise en forme conditionnelle qui fonctionne très bien. Maintenant le hic c'est que les conditions sont limitées au nombre de 3 et que j'en ai besoin de 12...Egalement je voudrais savoir s'il est possible d'associer une condition à partir d'une partie d'un ensemble de mots et non du mot exact du style *nom*?


Merci.
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
8 mai 2009 à 15:48
Oui, exact, je ne connaissais pas cette limitation.
Alors, pour reprendre ton programme initial :
    Dim mCellule As Object
    For Each mCellule In Range("A1:A20")
        Debug.Print mCellule.Value
        If mCellule.Value = "virement" Then
            With mCellule.Offset(0,2).Interior
                .ColorIndex = 6
                .Pattern = xlSolid
            End With
        Else
            With mCellule.Offset(0,2).Interior
                .ColorIndex = 0
                .Pattern = xlSolid
            End With
        End If
    Next

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous