Bonsoir à tous,

Je suis sous Access97, et donc suis obligé de passer par code.
C'est très simple, j'ai une table contenant l'emploi du temps d'employés.
Je créé un formulaire où dans la zone Détail je mets : Date - Employé1 - Employé2 - Employé3....
Comme cela pour chaque date je sais ce qu'ils font.
Mon soucis, est que je veux mettre de la couleur dans tout cela, par exemple les jours de congé en vert, la présence au bureau en rouge les WeekEnd en jaune...
Voici mon bout de 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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 
Private Sub Form_Load()
   If DatePart("w", Me![Date]) = 1 Then
        Me![Date].BackColor = vbYellow
        Me![Date].FontUnderline = False
        Me![Date].ForeColor = vbBlack
        Me![Date].FontItalic = True
Else
        If DatePart("w", Me![Date]) = 7 Then
            Me![Date].BackColor = vbYellow
            Me![Date].FontUnderline = False
            Me![Date].ForeColor = vbBlack
            Me![Date].FontItalic = True
            Else
            Me![Date].BackColor = 16777215
            Me![Date].FontUnderline = False
            Me![Date].ForeColor = vbBlack
            Me![Date].FontItalic = False
        End If
End If
 
Dim I As Integer
For I = 1 To 4
    Select Case Me.Controls(Format(I, "0"))
        Case "Congé", "Congé éventuel"
            Me.Controls(Format(I, "0")).BackColor = vbGreen
            Me.Controls(Format(I, "0")).FontUnderline = False
            Me.Controls(Format(I, "0")).ForeColor = vbBlue
            Me.Controls(Format(I, "0")).FontItalic = False
        Case "Bureau"
            Me.Controls(Format(I, "0")).BackColor = 8421631
            Me.Controls(Format(I, "0")).FontUnderline = False
            Me.Controls(Format(I, "0")).ForeColor = vbBlack
            Me.Controls(Format(I, "0")).FontItalic = True
        Case "WeekEnd", "Jour Férié"
            Me.Controls(Format(I, "0")).BackColor = vbYellow
            Me.Controls(Format(I, "0")).FontUnderline = False
            Me.Controls(Format(I, "0")).ForeColor = vbBlack
            Me.Controls(Format(I, "0")).FontItalic = True
        Case "En déplacement"
            Me.Controls(Format(I, "0")).BackColor = 16777215
            Me.Controls(Format(I, "0")).FontUnderline = True
            Me.Controls(Format(I, "0")).ForeColor = vbBlue
            Me.Controls(Format(I, "0")).FontItalic = False
        Case Else
            Me.Controls(Format(I, "0")).BackColor = 16777215
            Me.Controls(Format(I, "0")).FontUnderline = False
            Me.Controls(Format(I, "0")).ForeColor = vbBlack
            Me.Controls(Format(I, "0")).FontItalic = False
    End Select
Next I
End Sub
Maintenant mon problème:
Cela ne fonctionne pas correctement, càd que s'il rencontre un Congé il met en vert tout ce qui suit, au lieu de mettre en vert que la cellule concernée. Bug ? Quid ? Mauvais code ?
Pourriez-vous m'éclairer ? Merci d'avance.
Voici l'image pour éclaicir mon probleme :