Coloriser une cellule EXCEL

VB_PtitCat Messages postés 197 Date d'inscription mercredi 30 mai 2007 Statut Membre Dernière intervention 13 mai 2009 - 11 févr. 2009 à 09:42
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 - 11 févr. 2009 à 17:01
Bonjour,
j'aimerai colorier  mes cellules en vert,
uniquement si les deux premier caractères d'une cellule sont OK!
Voilà mon code, qui ne marche pas,
si vous pouviez m'éclairer vite fait, puis que mon aide VB ne marche pas ni F1 ni F2 :'(

Sub Inventaire()
'
' Inventaire Macro
' Macro enregistrée le 11/02/2009 par Cegelec

Dim ligne As Integer
ligne = 1

While Cells(ligne, 3) <> Empty
    If Cells(ligne, 3) <> Empty Then
        If Left(Cells(ligne, 19), 2) = "OK" Then
            Selection.Range(Cells(ligne, 1), Cells(ligne, 19)).Interior.ColorIndex = 4
        End If
    End If
ligne = ligne + 1
Wend

End Sub

MerZi ... Zi ... Zi ... PtitCat

3 réponses

DragonPegase Messages postés 5 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 11 février 2009
11 févr. 2009 à 09:45
Euh ... une fois tu testes "Cells(ligne, 3)" et l'autre le Cells(ligne, 19)

explique un peu mieux ta méthode là ... ou ce que tu avais l'intention de faire ...
0
DragonPegase Messages postés 5 Date d'inscription vendredi 24 janvier 2003 Statut Membre Dernière intervention 11 février 2009
11 févr. 2009 à 09:49
Sinon, tu peux utiliser ça :

range(CelluleDeb, CelluleFin).Interior.Color = CouleurFond ' Tu peux utiliser vbGreen par exemple

donc, tu enlèves "Selection", et tu utilises "Color" et non ColorIndex
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
11 févr. 2009 à 17:01
Une simple mise en forme conditionnelle ne ferait pas l'affaire avec la formule
Gauche("A1";2)"OK"

Bien sûr, faut préciser la bonne référence de cellule, enlever les $ qui vont bien, et plus qu'à copier le format avec le joli outil Pinceau.

Cerise sur le gâtal, mise à jour dynamique de tes cellules, pas besoin de gérer le rafrachissement via macro.

Molenn
0