Bonjour à tous,

J'ai un problème avec un module VB sous excel.

Le but de ce module étant de récuper le résultat d'une requête ACCESS avec passage d'arguments. Il semble y avoir un problème lors de la connexion à la base de données. Malheureusement je ne comprend pas ce qu'il se passe. Lorsque je fais un débogage , il pointe sur la ligne

Set RQ = BaseSource.OpenRecordset(TexteSql, dbOpenDynaset)

Voici le code complet si ça peut aider quelqu'un.

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
Sub trihotel()
                            Dim BaseSource              As Database
                            Dim RQ                      As Recordset
                            Dim CompA                   As Long
                            Dim Cellule                 As Range
                            Dim Datedebut               As Date
                            Dim Datefin                 As Date
                            Dim TexteSql                As String
 
    Columns("A:K").Select
    Selection.ClearContents
    Range("A3").Select
 
    Datedebut = InputBox("Entrez la date de début", , Default)
    Datefin = InputBox("Entrez la date de fin", , Default)
    Application.DisplayAlerts = False
    Set BaseSource = DBEngine.Workspaces(0).OpenDatabase("C:\Documents and Settings\SceInfo\Mes documents\Bases de Données ACCESS\Pierre TRraccard\pierretraccard.mdb")
    DoEvents
 
    TexteSql = "SELECT * FROM gf2 WHERE (Clng(DATE_CREATION)>=" & CLng(Datedebut) & ") And (Clng(DATE_CREATION) <=" & CLng(Datefin) & ")"
 
    Set RQ = BaseSource.OpenRecordset(TexteSql, dbOpenDynaset)
 
    Set Cellule = Range("A3")
    For CompA = 0 To RQ.Fields.Count - 1
        Cellule.Offset(0, CompA).Value = RQ.Fields(CompA).Name
    Next CompA
 
    Range("A4").CopyFromRecordset RQ
    RQ.Close
    Set RQ = Nothing
    Application.DisplayAlerts = True
End Sub
Merci de m'aider