Bonjour,

J'essaye de créer une classe dans Excel pour me connecter sur une BD ODBC, cependant j'ai des problèmes en appellant une de mes méthodes.

Voici le code de ma classe SQLConnect:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
Private connectStr As String
 
Public Property Get ConnectionString() As String
    ConnectionString = connectStr
End Property
 
Public Property Let ConnectionString(ByVal newConnexStr As String)
    connectStr = newConnexStr
End Property
 
Public Function sqlQuery(query As String, destinationCells) As QueryTable
    sqlQuery = ActiveSheet.QueryTables.Add(Connection:=Me.ConnectionString, Destination:=destinationCells, sql:=query)
End Function
Puis le code dans mon module:
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
Public Sub Test()
    Worksheets("Test").Activate
    Sheets("Test").Select

    Dim sql As SQLConnect
    Set sql = New SQLConnect
    sql.ConnectionString = "ODBC;DSN=monDSN;UID=monUID;PWD=monPWD"

    Dim query As String
    Dim queryTab As QueryTable
    sqlQuery = "SELECT * FROM SW_T_ParametrageOTC"

    Set queryTab = sql.sqlQuery(query, Range("A1"))
    queryTab.Refresh
End Sub
Le déboggueur m'indique une erreur dans la ligne en rouge, donc je pense que ma méthode a un problème. J'ai essayé de trouver une solution sur Google, mais malheureuseument j'ai rien trouvé pour l'instant.

Merci d'avance