Bonjour,
J'ai moi aussi récupéré le tuto de cafeine, que j'ai modifié afin qu'il s'adapte à ma base.
Le probleme arrive lorsque je clique sur une des checkbox. j'ai le message "erreur d'execution 3464. type de données incompatibles dans l'expression du critere".
Cela semble venir de lblStats, mais vu que je suis un peu debutant en vba, j'ai un peu de mal à voir quel est exactement le probleme..

La table sur laquelle je veux effectuer les tris est la table CTP.

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
 
Private Sub Form_Load()
Dim ctl As Control
 
For Each ctl In Me.Controls
    Select Case Left(ctl.Name, 3)
        Case "Chk"
            ctl.Value = 0
        Case "lbl"
            ctl.Caption = "- * - * -"
        Case "Txt"
            ctl.Visible = False
            ctl.Value = ""
        Case "cmb"
            ctl.Visible = False
    End Select
Next ctl
 
Me.lstResults.RowSource = "SELECT [CTP].[ND_client], [CTP].[Prestation], [CTP].[Code_pz], [CTP].[Deb_prest_date], [CTP].[TIC/TLC], [CTP].[Debit], [CTP].[Prix_ht], [CTP].[Facture_ht], [CTP].[Nom_client] FROM CTP;"
Me.lstResults.Requery
 
End Sub
 
Private Sub RefreshQuery()
 Dim SQL As String
 Dim SQLWhere As String
 
 SQL = "SELECT [CTP].[ND_client], [CTP].[Prestation], [CTP].[Code_pz], [CTP].[Deb_prest_date], [CTP].[TIC/TLC], [CTP].[Debit], [CTP].[Prix_ht], [CTP].[Facture_ht], [CTP].[Nom_client] FROM CTP Where CTP!ND_client <> 0 "
 
If Me.chkdate = 1 Then
    SQL = SQL & "And Deb_prest_date is between Me.TxtRechDateDebut and Me.TxtRechDateFin"
End If
 
If Me.chknd = 1 Then
     SQL = SQL & "And ND like '*" & Me.TxtRechND & "*' "
End If
 
If Me.ChkDebit Then
    SQL = SQL & "And Debit = '" & Me.CmbRechDebit & "' "
End If
 
SQLWhere = Trim(Right(SQL, Len(SQL) - InStr(SQL, "Where ") - Len("Where ") + 1))
SQL = SQL & ";"
 
Me.lblStats.Caption = DCount("*", "CTP", SQLWhere) & " / " & DCount("*", "CTP")
Me.lstResults.RowSource = SQL
Me.lstResults.Requery
 
End Sub
merci de votre aide

Edit : j'ai oublié de preciser que le debug me renvoie sur la ligne
Me.lblStats.Caption = DCount("*", "CTP", SQLWhere) & " / " & DCount("*", "CTP")
ce qui ne m'aide pas plus que ca...