Bonjour,
j'ai un problème avec une macro qui permet normalement de récupérer des données d'un onglet Excel dans un autre via une requête SQL.
Hors à l'éxécution de cette macro, j'obtiens le message suivant :
[Microsoft] [Pilote ODBC Excel] La connexion permettant de visualiser votre feuille de calcul Microsoft Excel liée est perdue.
Pourriez-vous m'aider ?? Merci !
Voici mon code :
'************************************
Public my_connect As ADODB.Connection
Public rstCourant As ADODB.Recordset
'************************************
Public Sub connexion_Excel()
Dim Fichier As String
Dim sConn As String
Set my_connect = New ADODB.Connection
Fichier = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
sConn = "DSN=Excel Files;"
sConn = sConn & "DBQ=" & Fichier & ";"
sConn = sConn & "DefaultDir=" & Fichier & ";"
sConn = sConn & "DriverId=1046;MaxBufferSize=2048;PageTimeout=5;"
my_connect.Open sConn
End Sub
'************************************
Public Sub executeSQL(ByVal sSQL As String, ByVal shResult As Worksheet, ByVal iNumColonne As Integer, ByRef lNumLigne As Long)
Dim NumLigneDeb As Long
NumLigneDeb = lNumLigne
Set rstCourant = New ADODB.Recordset
connexion_Excel
rstCourant.Open sSQL, my_connect
'Copie des données du résultat
shResult.Cells(lNumLigne, iNumColonne).CopyFromRecordset rstCourant
rstCourant.Close
End Sub
'************************************
j'ai un problème avec une macro qui permet normalement de récupérer des données d'un onglet Excel dans un autre via une requête SQL.
Hors à l'éxécution de cette macro, j'obtiens le message suivant :
[Microsoft] [Pilote ODBC Excel] La connexion permettant de visualiser votre feuille de calcul Microsoft Excel liée est perdue.
Pourriez-vous m'aider ?? Merci !
Voici mon code :
'************************************
Public my_connect As ADODB.Connection
Public rstCourant As ADODB.Recordset
'************************************
Public Sub connexion_Excel()
Dim Fichier As String
Dim sConn As String
Set my_connect = New ADODB.Connection
Fichier = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
sConn = "DSN=Excel Files;"
sConn = sConn & "DBQ=" & Fichier & ";"
sConn = sConn & "DefaultDir=" & Fichier & ";"
sConn = sConn & "DriverId=1046;MaxBufferSize=2048;PageTimeout=5;"
my_connect.Open sConn
End Sub
'************************************
Public Sub executeSQL(ByVal sSQL As String, ByVal shResult As Worksheet, ByVal iNumColonne As Integer, ByRef lNumLigne As Long)
Dim NumLigneDeb As Long
NumLigneDeb = lNumLigne
Set rstCourant = New ADODB.Recordset
connexion_Excel
rstCourant.Open sSQL, my_connect
'Copie des données du résultat
shResult.Cells(lNumLigne, iNumColonne).CopyFromRecordset rstCourant
rstCourant.Close
End Sub
'************************************