Bonjour à tous,

J'ai bel et bien effectué une recherche sur le forum / google OUI OUI, mais étant complètement débutant et ne comprenant pas encore bien les recordset je n'arrive pas vraiment a remanier mon code ...

J'obtient donc le message d'erreur " INCOMPATIBILIE DE TYPE " sur la ligne :

" Set rst_mois = Db.OpenRecordset(str_requete_stock) " du code suivant :

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
Public Sub calcul_nbr_mois()
 
Dim date1 As Date, date2 As Date
Dim varNbreMois As Integer
Dim rst_mois As New ADODB.Recordset
Dim i As Integer
Dim DateA As Integer
Dim DateB As Integer
Dim taBdd As Database
Dim date1_i As Date, date2_i As Date
Dim j As Integer
Dim monTableau() As String
Dim str_requete_stock As String
 
str_requete_stock = " SELECT Val(Mid([Transmission Date],7,4) & Mid([Transmission Date],4,2))AS AnMois,Count(FAC_ACTION.ID) AS NbrID,Sum(IIf([Clos] Is Null,Date()-[Transmission Date],[Clos]-[Transmission Date])) AS DMT FROM FAC_ACTION INNER JOIN FAC_SICLOP ON FAC_ACTION.ID= FAC_SICLOP.ID WHERE ((FAC_SICLOP.[Transmission Date]) <  #" & date1_i & "#) AND (((FAC_ACTION.[Clos]) >  #" & date1_i & "#) OR (FAC_ACTION.[Clos]) IS NULL) GROUP BY (Val(Mid([Transmission Date],7,4) & Mid([Transmission Date],4,2)))"
Set Db = Application.CurrentDb
 
 
date1 = Forms![f_Reporting]![DateA]
date2 = Forms![f_Reporting]![DateB]
 
MsgBox "Durée en nombre de mois : " & DateDiff("m", date1, date2)
 
varNbreMois = DateDiff("m", date1, date2)
 
 
 
For i = 0 To varNbreMois
    date1_i = DateAdd("m", i, date1)
 
Set rst_mois = Db.OpenRecordset(str_requete_stock)
 
j = 0
Next i
ReDim monTableau(rst_requete_stock.RecordCount)
 
Do While Not rst_requete_stock.EOF
         monTableau(i) = rst_requete_stock.Fields("NbrID") '
 
          rst_requete_stock.MoveNext '
         j = j + 1
Loop
 
 
 
 
 
End Sub
Merci bien à tous !