Coloriser une cellule EXCEL

Signaler
Messages postés
197
Date d'inscription
mercredi 30 mai 2007
Statut
Membre
Dernière intervention
13 mai 2009
-
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
-
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

Messages postés
5
Date d'inscription
vendredi 24 janvier 2003
Statut
Membre
Dernière intervention
11 février 2009

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 ...
Messages postés
5
Date d'inscription
vendredi 24 janvier 2003
Statut
Membre
Dernière intervention
11 février 2009

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
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
7
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