Probleme de lecture de fichier Excel avec ADODB recordset
Bonjour à tous,
je rencontre un souci avec un code vba sous access me permettant de lire un fichier excel pour alimenter mes tables.
Ci joint le code me permettant de parcourir le fichier. Cela fonctionne, j'arrive à parcourir mes données et les lire, mais j'aurais besoin de la position de mon enregistrement et en utilisant la propriété absoluteteposition, celle ci reste à -1 tout au long de l'éxécution, alors que la navigation dans le recordset fonctionne puisque j'arrive à récupérer les champs de tous mes enregistrements.
De al même façon, la propriété recordcount ne fonctionne pas alors que mon recordset n'est pas vide.
Code:
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
| Sub import_filiation()
'connection au fichier excel
Dim cn_xls As ADODB.Connection
Dim Rst_xls As ADODB.Recordset
Dim fichier As String
Dim NomFeuille As String, texte_sql As String
'Définition du classeur fermé servant de source
chemin = "C:\Mon Espace Disque\"
fichier = "conversion SAP_Pere_Fils.xls"
NomFeuille = "extract" 'A METTRE A JOUR
chemin_fichier = chemin & fichier
'Connection à la source Excel
Set cn_xls = New ADODB.Connection
With cn_xls
.Provider = "MSDASQL"
.ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};" & _
"DBQ=" & chemin_fichier & "; ReadOnly=False;"
.Open
End With
'----- Définition de la requête ------
texte_sql = "SELECT * FROM [" & NomFeuille & "$]"
Set Rst_xls = New ADODB.Recordset
Set Rst_xls = cn_xls.Execute(texte_sql)
MsgBox (Rst_xls.RecordCount)
'Parcours sur les lignes du fichier excel pour traiter les differentes informations
Do While Not (Rst_xls.EOF)
MsgBox (Rst_xls.AbsolutePosition)
MsgBox (Rst_xls.Fields(0))
Rst_xls.MoveNext
Loop
End Sub |
J'ai du oublier quelque chose mais je ne vois pas quoi. je précise que je ne suis pas expert en vba sous access, je me suis inspiré de tutos trouvés sur le site pour écrire ce code.
Merci par avance de votre aide