BOUCHEZ JD
XLDnaute Junior
Bonjour à tous.
J'utilise la methode ADO décrite plusieurs fois dans ce forum pour récuperer
290 lignes et 13 colonnes dans un fichier fermé.
Le CODE :
Sub Copie_CONTENU_Formation()
Dim Cn As ADODB.Connection
Dim Fichier As String
Dim NomFeuille As String, texte_SQL As String
Dim Rst As ADODB.Recordset
'= SOURCE === PATH et NOM du classeur fermé servant de source de données
Fichier = ActiveWorkbook.Path & "\_Contenu_des_formations_evol_competences.xls"
' === Nom de la feuille dans ce classeur fermé
NomFeuille = "contenu_form"
'--- Connection ---
Set Cn = New ADODB.Connection
' Cn.Open szSQL, szConnect, adOpenForwardOnly, adLockReadOnly, adCmdText
With Cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & Fichier & ";" & "Extended Properties=""Excel 8.0;HDR=NO;"""
.Open
End With
'-----------------
'La requête SQL.
texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute(texte_SQL)
etc ...
Le programme se plante à la derniére ligne ci dessus avec le message :
"Trop de champs définis"
Je pense qu'il fait reference à l' * du SELECT FROM ; mais je n'ai
que 13 colonnes/CHAMPS ce qui ne me semble pas justifier le
message.
Si quelqu'un à une idée, grand merci d'avance.
J'utilise la methode ADO décrite plusieurs fois dans ce forum pour récuperer
290 lignes et 13 colonnes dans un fichier fermé.
Le CODE :
Sub Copie_CONTENU_Formation()
Dim Cn As ADODB.Connection
Dim Fichier As String
Dim NomFeuille As String, texte_SQL As String
Dim Rst As ADODB.Recordset
'= SOURCE === PATH et NOM du classeur fermé servant de source de données
Fichier = ActiveWorkbook.Path & "\_Contenu_des_formations_evol_competences.xls"
' === Nom de la feuille dans ce classeur fermé
NomFeuille = "contenu_form"
'--- Connection ---
Set Cn = New ADODB.Connection
' Cn.Open szSQL, szConnect, adOpenForwardOnly, adLockReadOnly, adCmdText
With Cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & Fichier & ";" & "Extended Properties=""Excel 8.0;HDR=NO;"""
.Open
End With
'-----------------
'La requête SQL.
texte_SQL = "SELECT * FROM [" & NomFeuille & "$]"
Set Rst = New ADODB.Recordset
Set Rst = Cn.Execute(texte_SQL)
etc ...
Le programme se plante à la derniére ligne ci dessus avec le message :
"Trop de champs définis"
Je pense qu'il fait reference à l' * du SELECT FROM ; mais je n'ai
que 13 colonnes/CHAMPS ce qui ne me semble pas justifier le
message.
Si quelqu'un à une idée, grand merci d'avance.