Bonjour,

Je viens vers vous car je n'arrive pas à avoir la logique pour qu'une Sub Fonction reconnaisse un nombre décimal

J'ai écris un code (tiré des tutos du site) qui tape dans une requête Access.

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 Function xColis(Optional ByVal Base As String = vbNullString, _
                             Optional ByVal Circuit As String = vbNullString, _
                                    Optional ByVal Semaine As Double)
 
 
    Dim rec As New ADODB.Recordset
    Dim strSQL As String
 
 
    'Redaction du SQL
    strSQL = "SELECT Sum(U_CoefRemplissage.SommeDeUO) AS  Montant " & _
             "FROM U_CoefRemplissage WHERE 1=1"
 
    If Semaine > 0 Then
        strSQL = strSQL & " And ([Semaine] = " & Semaine & ")"
    End If
 
    If Len(Base) > 0 Then
        strSQL = strSQL & " And ([Nom Base] = '" & Base & "')"
    End If
 
    If Len(Circuit) > 0 Then
        strSQL = strSQL & " And ([Activite] = '" & Circuit & "')"
    End If
 
 
 
    Dim rst As New ADODB.Recordset
 
    rst.Open strSQL, cnx
 
    On Error GoTo errH01
    rst.MoveFirst
 
    xColis = CDbl(rst("Montant"))
 
    rst.Close
    Set rst = Nothing
    Exit Function
 
errH01:
       Err.Clear
    xColis = 0
    rst.Close
    Set rst = Nothing
 
 
End Function

Dans ma requête Access j'ai le champ semaine pour lequel je distingue une semaine spécifique à cheval sur un mois.
Exemple semaine 9 :
Mois de février => 9
Mois de mars => 9,5 ("," dans Access)


Dans mon tableau Excel j'ai en colonne le récapitulatif des semaine de l'année.
La fonction xColis fonctionne pour les semaines en nombre entier mais pas pour les semaines décimales. La fonction me retourne valeur.

Dans la Sub, Semaine est bien défini en Double. Et que je fais le pas à pas je vois bien la valeur 9,5.

Je bloque!!!

Merci de votre aide