Bonjour à tous

Je viens de me remettre à la programmation, après 3 ans d'abstinence. J'ai essayé de faire quelques routines en vba pour excel. L'une d'elles me pose un problème et je vois pas ce qui ne va pas.

Mon but est de faire changer la couleur des cellules de la colonne A en fonction des valeurs de la colonne B. Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 Sub CouleurInterval()
 
Dim Etat As Range ' Etat est la cellule active
Dim c As Integer ' c est le nombre de cellule vide
Dim x As Integer ' x est le numero de la ligne
 
' affectation des variables
x = 2
c = 0
 
 
Set Etat = Workbooks("Macrotest.xls").Worksheets("Feuil1").Range(Cells(x, 4))
Etat.Select
 
' Effectuer la routine tant que le nombre de cellules vides < 20
For c = 0 To 20
 
    Select Case Etat
 
        Case "T"
        Etat.Offset(0, -1).Interior.Color = vbGreen
 
        Case "EA"
        Etat.Offset(0, -1).Interior.Color = vbMagenta
 
        Case "EC"
        Etat.Offset(0, -1).Interior.Color = vbCyan
 
        Case ""
        c = c + 1
 
    End Select
    x = x + 1
 
Next
 
End Sub
La routine s'arrête sur la ligne set Etat = Workbooks..., je compte 20 cellules vides parce que toutes les lignes ne sont pas remplies.

J'ai essayé en enlevant set, mais c'est pareil.
Un petit coup de main serait bienvenue, merci