Bonjour,

je suis bloqué sur un problème de mise en forme:

j'ai une liste dans un formulaire qui affiche l'ID et le nom des elements d'une table en se basant sur une requete (liste classique en somme).
requete :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
SELECT [RESTAURANT_HEBERGEMENT].[RH_ID], [DATA].[DAT_nom] FROM RESTAURANT_HEBERGEMENT, DATA WHERE [RH_DATA]=[DAT_ID] ORDER BY [DAT_NOM]
j'obtient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
1 ... lenom1
2 ... lenom2
3 ... lenom3
...etc...
Seulement je voudrais l'améliorer avec un peu de couleur (ou un bout de texte si c'est impossible) en fonction du resultat d'une fonction.

voici ce que j'ai fait :
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
 
Private Sub build_Liste()
    Dim v_date As Date
    v_date = Date
 
    Liste.ColumnHeads = True
    Liste.ColumnCount = 2
    Liste.ColumnWidths = "1,5cm;2,542cm"
    Liste.RowSource = "ID;NOM"
 
    req = "SELECT [RESTAURANT_HEBERGEMENT].[RH_ID], [DATA].[DAT_nom], [DATA].[DAT_DATE_DEBUT], [DATA].[DAT_DATE_FIN] FROM RESTAURANT_HEBERGEMENT, DATA WHERE [RH_DATA]=[DAT_ID] ORDER BY [DAT_NOM]"
    Set rst = CurrentDb.OpenRecordset(req)
 
    If rst.RecordCount <> 0 Then
        rst.MoveFirst
        While rst.EOF = False
 
            On Error Resume Next
            'TestDate retourne vrai si les dates sont valides
            If TestDate(v_date, rst![DAT_DATE_DEBUT], rst![DAT_DATE_FIN]) Then
                Liste.RowSource = Liste.RowSource & ";" & rst![RH_ID] & ";" & rst![dat_nom]
            Else
                Liste.RowSource = Liste.RowSource & ";" & rst![RH_ID] & " - XXX;" & rst![dat_nom]
            End If
 
            rst.MoveNext
        Wend
    End If
End Sub
j'obtient :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
1 ... lenom1
2 - XXX... lenom2
3 ... lenom3
...etc...
C'est bon ca marche hormis une chose :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Liste.RowSource = Liste.RowSource & ";" & rst![RH_ID] & ";" & rst![dat_nom]
on est limité en taille pour le RowSource, donc il me manque les 9/10eme de mes enregistrements.


auriez vous des idées/solutions (sans passer par la création d'une table) ?
et pour la couleur, au lieu de mettre un XXX je prefererai avoir une ligne en rouge, est ce faisable?