OVH Cloud OVH Cloud

EXCELL dans ACCESS

7 réponses
Avatar
JCM
Bonjour

Je voudrais convertir une feuille Excell dans une table Access avec VB6 et
ADOX.
Je n'ai rien trouvé comme exemple dans le FAQ
Pourriez-vous me dire ou il me faut chercher ou tout simplement
pourriez-vous me donner un bout de code

Merci d'avance
Cordialement
JCM

7 réponses

Avatar
Quasimodo
JCM was thinking very hard :
Bonjour

Je voudrais convertir une feuille Excell dans une table Access avec VB6 et
ADOX.
Je n'ai rien trouvé comme exemple dans le FAQ
Pourriez-vous me dire ou il me faut chercher ou tout simplement
pourriez-vous me donner un bout de code

Merci d'avance
Cordialement
JCM



bonjour,
Adox oui, vb6 oui, ouvrir une feuille excel dans une table Access NON.
Peut être voulez-vous dire que celle-ci est stockée dans un record
d'une table? Pouvez rectifier l'énoncée de votre problème, svp.
Pour une référence sur l'adox voir dans ce même forum les technopoches
de microsoft.

@+Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com
Avatar
JCM
Bonjour

Pour etre plus clair, je veux transférer les données d'une feuille excell
dans une table access.
je n'ai pas trouver d'exemple de code sur les technopoches de microsoft.

Cordialement
JCM

"Quasimodo" a écrit dans le message de
news:
JCM was thinking very hard :
> Bonjour
>
> Je voudrais convertir une feuille Excell dans une table Access avec VB6


et
> ADOX.
> Je n'ai rien trouvé comme exemple dans le FAQ
> Pourriez-vous me dire ou il me faut chercher ou tout simplement
> pourriez-vous me donner un bout de code
>
> Merci d'avance
> Cordialement
> JCM

bonjour,
Adox oui, vb6 oui, ouvrir une feuille excel dans une table Access NON.
Peut être voulez-vous dire que celle-ci est stockée dans un record
d'une table? Pouvez rectifier l'énoncée de votre problème, svp.
Pour une référence sur l'adox voir dans ce même forum les technopoches
de microsoft.

@+Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com



Avatar
Quasimodo
JCM formulated on Wednesday :
Bonjour

Je voudrais convertir une feuille Excell dans une table Access avec VB6 et
ADOX.
Je n'ai rien trouvé comme exemple dans le FAQ
Pourriez-vous me dire ou il me faut chercher ou tout simplement
pourriez-vous me donner un bout de code

Merci d'avance
Cordialement
JCM


Re,
Voici un exemple, très basic (manque une bonne gestion d'erreur, ...).
Utilisez les références à l'adox, l'ado, commondialog.
Créez une forme principal (frmMain) avec un commondialog (cmdlgMain) et
un commonbutton (cmdMakeData), et collez le code ci-dessous dans la
forme principale.
'------------------------------------------------------------------------------------------------------------------------------
Option Explicit

Private Sub cmdMakeData_Click()

Dim tbl As ADOX.Table
Dim col As ADOX.Column
Dim cat As ADOX.Catalog
Dim key As ADOX.key
Dim strFileNameExcel As String
Dim strFileNameAccess As String

On Error GoTo Error_cmdMakeData_Click

'------------------------------------------------------------
'Création du fichier Excel.
'------------------------------------------------------------
'Selection du fichier.
cmdlgMain.DefaultExt = "*.xls"
cmdlgMain.DialogTitle = "Open MS Excel file"
cmdlgMain.Filter = "MS Excel *.Xls|*.xls"
cmdlgMain.Flags = cdlOFNHideReadOnly + cdlOFNOverwritePrompt +
cdlOFNPathMustExist
cmdlgMain.ShowSave
Me.MousePointer = vbHourglass
strFileNameExcel = cmdlgMain.FileName
'------------------------------------------------------------
' Test d'existance du fichier
If (Trim(strFileNameExcel) = "") Then Exit Sub
If (Dir(strFileNameExcel) <> "") Then
Kill strFileNameExcel
End If
'------------------------------------------------------------
'Création éffective du fichier
Set tbl = New ADOX.Table
Set cat = New ADOX.Catalog
cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" & strFileNameExcel & ";" & "Extended Properties=Excel 8.0;"
Set tbl = New ADOX.Table
tbl.Name = "Personnes"
MakeColumn "Nom", tbl, adVarWChar
MakeColumn "Prenom", tbl, adVarWChar
MakeColumn "Adresse", tbl, adVarWChar
MakeColumn "Numero", tbl, adVarWChar
MakeColumn "CodePostal", tbl, adVarWChar
MakeColumn "Ville", tbl, adVarWChar
MakeColumn "Pays", tbl, adVarWChar
MakeColumn "DateNaissance", tbl, adDate
MakeColumn "VilleNaissance", tbl, adVarWChar
MakeColumn "PaysNaissance", tbl, adVarWChar
cat.Tables.Append tbl
Set tbl = Nothing
Set cat = Nothing
'------------------------------------------------------------
'Fin création du fichier Excel.
'------------------------------------------------------------
Me.MousePointer = vbDefault
'------------------------------------------------------------
'Création du fichier Access.
'------------------------------------------------------------
'Selection du fichier.
cmdlgMain.DefaultExt = "*.mdb"
cmdlgMain.DialogTitle = "Open MS Access File"
cmdlgMain.Filter = "MS Access *.Mdb|*.mdb"
cmdlgMain.Flags = cdlOFNHideReadOnly + cdlOFNOverwritePrompt +
cdlOFNPathMustExist
cmdlgMain.FileName = ""
cmdlgMain.ShowSave
strFileNameAccess = cmdlgMain.FileName
Me.MousePointer = vbHourglass
'------------------------------------------------------------
' Test d'existance du fichier
If (Trim(strFileNameAccess) = "") Then Exit Sub
If (Dir(strFileNameAccess) <> "") Then
Kill strFileNameAccess
End If
'------------------------------------------------------------
'Création éffective du fichier
Set tbl = New ADOX.Table
Set cat = New ADOX.Catalog
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
strFileNameAccess
tbl.Name = "Personnes"
MakeColumn "Nom", tbl, adVarWChar
MakeColumn "Prenom", tbl, adVarWChar
MakeColumn "Adresse", tbl, adVarWChar
MakeColumn "Numero", tbl, adVarWChar
MakeColumn "CodePostal", tbl, adVarWChar
MakeColumn "Ville", tbl, adVarWChar
MakeColumn "Pays", tbl, adVarWChar
'------------------------------------------------------------
' Attention, le formatage n'est pas pris en compte (date du type :
mm/dd/yyyy)
' et il peut y avoir une confussion lors de l'export vers MS Access
(du type 11/12/yyyy et 12/11/yyyy).
MakeColumn "DateNaissance", tbl, adDate
MakeColumn "VilleNaissance", tbl, adVarWChar
MakeColumn "PaysNaissance", tbl, adVarWChar
cat.Tables.Append tbl
'------------------------------------------------------------
' Definir une clé primaire sur la table
Set key = New ADOX.key
key.Name = "ClePrimaire"
key.Type = adKeyPrimary
key.RelatedTable = "personnes"
key.Columns.Append "nom"
'------------------------------------------------------------
' Ajouter la clé à la table
tbl.Keys.Append key
Set key = Nothing
Set tbl = Nothing
Set cat = Nothing
'------------------------------------------------------------
'Fin création du fichier Access.
'------------------------------------------------------------
'------------------------------------------------------------
'insertion de données dans le fichier Excel pour test.
'------------------------------------------------------------
Dim objConExcel As ADODB.Connection

Set objConExcel = New ADODB.Connection
With objConExcel
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties").Value = "Excel 8.0"
.Open strFileNameExcel
.Execute "insert into personnes
values('VanDenPlace','Robert','square de la
valee','52','1000','bruxelles','Belgique','07/08/1981','Bruxelles','Belgique');"
.Execute "insert into personnes values('Gontrant','Julien','Rue
du
pont','2','1070','bruxelles','Belgique','24/1/1984','Mons','Belgique');"
.Execute "insert into personnes
values('Malbert','Jacques','Boulevard du
centre','115','1080','bruxelles','Belgique','12/11/1990','Namur','Belgique');"
.Close
End With
Set objConExcel = Nothing

'-----------------------------------------------------------------------
'Exportation des données du fichier Excel vers la base de donnée
Access.

'-----------------------------------------------------------------------
Dim objRsExcel As ADODB.Recordset
Dim objRsAccess As ADODB.Recordset
Dim objConAcces As ADODB.Connection

Set objConExcel = New ADODB.Connection
Set objConAcces = New ADODB.Connection
With objConExcel
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties").Value = "Excel 8.0"
.Open strFileNameExcel
End With
With objConAcces
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Data Source").Value = strFileNameAccess
.Open
End With
Set objRsAccess = New ADODB.Recordset
objRsAccess.CursorLocation = adUseClient
objRsAccess.CursorType = adOpenKeyset
objRsAccess.Source = "personnes"
objRsAccess.LockType = adLockOptimistic
Set objRsAccess.ActiveConnection = objConAcces
objRsAccess.Open
Set objRsExcel = objConExcel.Execute("select * from personnes order
by nom asc")
If Not objRsExcel Is Nothing Then
If Not objRsExcel.BOF And Not objRsExcel.EOF Then
Do While Not objRsExcel.EOF
With objRsAccess
.AddNew
.Fields.Item("nom").Value =
objRsExcel.Fields.Item("nom").Value
.Fields.Item("Prenom").Value =
objRsExcel.Fields.Item("Prenom").Value
.Fields.Item("Adresse").Value =
objRsExcel.Fields.Item("Adresse").Value
.Fields.Item("Numero").Value =
objRsExcel.Fields.Item("Numero").Value
.Fields.Item("CodePostal").Value =
objRsExcel.Fields.Item("CodePostal").Value
.Fields.Item("Ville").Value =
objRsExcel.Fields.Item("Ville").Value
.Fields.Item("Pays").Value =
objRsExcel.Fields.Item("Pays").Value
.Fields.Item("DateNaissance").Value =
objRsExcel.Fields.Item("DateNaissance").Value
.Fields.Item("VilleNaissance").Value =
objRsExcel.Fields.Item("VilleNaissance").Value
.Fields.Item("PaysNaissance").Value =
objRsExcel.Fields.Item("PaysNaissance").Value
.Update
objRsExcel.MoveNext
End With
Loop
End If
End If
objRsExcel.Close
objRsAccess.Close
Set objRsExcel = Nothing
Set objRsAccess = Nothing
objConAcces.Close
Set objConAcces = Nothing
objConExcel.Close
Set objConExcel = Nothing



'-----------------------------------------------------------------------
'Fin de l'exportation des données.

'-----------------------------------------------------------------------
Me.MousePointer = vbDefault

Exit Sub

Error_cmdMakeData_Click:

MsgBox "Erreur n° : " & CStr(Err.Number) & vbCrLf & "Description :
" & Err.Description, vbCritical + vbOKOnly, "Erreur."

Exit Sub
Resume

End Sub

Private Sub MakeColumn(ByVal strColName As String, ByRef objTb As
ADOX.Table, ByVal enmType As DataTypeEnum)

Dim col As ADOX.Column

Set col = New ADOX.Column
With col
.Name = strColName
.Type = enmType
End With
objTb.Columns.Append col
Set col = Nothing

End Sub
'------------------------------------------------------------------------------------------------------------------------------

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com
Avatar
JCM
Bonjour Quasimodo

Merci pour ce code que j'ai adapté à mon appli, néanmoins j'ai un beug
pouvez-vous me confirmer :
dans : objRsAccess.Source = "personnes" il s'agit de la table access ?
dans : Set objRsExcel = objConExcel.Execute("select * from personnes order
by nom asc") personnes est la classeur excell ? car le beug est sur cette
ligne : connection échouée

dans mon classeur excell le transfert est à partir de la feuille 1, faut-il
le préciser dans la requete et comment ?

Merci pour vos réponses
Cordialement
JCM



"Quasimodo" a écrit dans le message de
news:
JCM formulated on Wednesday :
> Bonjour
>
> Je voudrais convertir une feuille Excell dans une table Access avec VB6


et
> ADOX.
> Je n'ai rien trouvé comme exemple dans le FAQ
> Pourriez-vous me dire ou il me faut chercher ou tout simplement
> pourriez-vous me donner un bout de code
>
> Merci d'avance
> Cordialement
> JCM
Re,
Voici un exemple, très basic (manque une bonne gestion d'erreur, ...).
Utilisez les références à l'adox, l'ado, commondialog.
Créez une forme principal (frmMain) avec un commondialog (cmdlgMain) et
un commonbutton (cmdMakeData), et collez le code ci-dessous dans la
forme principale.



'---------------------------------------------------------------------------
---------------------------------------------------
Option Explicit

Private Sub cmdMakeData_Click()

Dim tbl As ADOX.Table
Dim col As ADOX.Column
Dim cat As ADOX.Catalog
Dim key As ADOX.key
Dim strFileNameExcel As String
Dim strFileNameAccess As String

On Error GoTo Error_cmdMakeData_Click

'------------------------------------------------------------
'Création du fichier Excel.
'------------------------------------------------------------
'Selection du fichier.
cmdlgMain.DefaultExt = "*.xls"
cmdlgMain.DialogTitle = "Open MS Excel file"
cmdlgMain.Filter = "MS Excel *.Xls|*.xls"
cmdlgMain.Flags = cdlOFNHideReadOnly + cdlOFNOverwritePrompt +
cdlOFNPathMustExist
cmdlgMain.ShowSave
Me.MousePointer = vbHourglass
strFileNameExcel = cmdlgMain.FileName
'------------------------------------------------------------
' Test d'existance du fichier
If (Trim(strFileNameExcel) = "") Then Exit Sub
If (Dir(strFileNameExcel) <> "") Then
Kill strFileNameExcel
End If
'------------------------------------------------------------
'Création éffective du fichier
Set tbl = New ADOX.Table
Set cat = New ADOX.Catalog
cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" & strFileNameExcel & ";" & "Extended Properties=Excel 8.0;"
Set tbl = New ADOX.Table
tbl.Name = "Personnes"
MakeColumn "Nom", tbl, adVarWChar
MakeColumn "Prenom", tbl, adVarWChar
MakeColumn "Adresse", tbl, adVarWChar
MakeColumn "Numero", tbl, adVarWChar
MakeColumn "CodePostal", tbl, adVarWChar
MakeColumn "Ville", tbl, adVarWChar
MakeColumn "Pays", tbl, adVarWChar
MakeColumn "DateNaissance", tbl, adDate
MakeColumn "VilleNaissance", tbl, adVarWChar
MakeColumn "PaysNaissance", tbl, adVarWChar
cat.Tables.Append tbl
Set tbl = Nothing
Set cat = Nothing
'------------------------------------------------------------
'Fin création du fichier Excel.
'------------------------------------------------------------
Me.MousePointer = vbDefault
'------------------------------------------------------------
'Création du fichier Access.
'------------------------------------------------------------
'Selection du fichier.
cmdlgMain.DefaultExt = "*.mdb"
cmdlgMain.DialogTitle = "Open MS Access File"
cmdlgMain.Filter = "MS Access *.Mdb|*.mdb"
cmdlgMain.Flags = cdlOFNHideReadOnly + cdlOFNOverwritePrompt +
cdlOFNPathMustExist
cmdlgMain.FileName = ""
cmdlgMain.ShowSave
strFileNameAccess = cmdlgMain.FileName
Me.MousePointer = vbHourglass
'------------------------------------------------------------
' Test d'existance du fichier
If (Trim(strFileNameAccess) = "") Then Exit Sub
If (Dir(strFileNameAccess) <> "") Then
Kill strFileNameAccess
End If
'------------------------------------------------------------
'Création éffective du fichier
Set tbl = New ADOX.Table
Set cat = New ADOX.Catalog
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
strFileNameAccess
tbl.Name = "Personnes"
MakeColumn "Nom", tbl, adVarWChar
MakeColumn "Prenom", tbl, adVarWChar
MakeColumn "Adresse", tbl, adVarWChar
MakeColumn "Numero", tbl, adVarWChar
MakeColumn "CodePostal", tbl, adVarWChar
MakeColumn "Ville", tbl, adVarWChar
MakeColumn "Pays", tbl, adVarWChar
'------------------------------------------------------------
' Attention, le formatage n'est pas pris en compte (date du type :
mm/dd/yyyy)
' et il peut y avoir une confussion lors de l'export vers MS Access
(du type 11/12/yyyy et 12/11/yyyy).
MakeColumn "DateNaissance", tbl, adDate
MakeColumn "VilleNaissance", tbl, adVarWChar
MakeColumn "PaysNaissance", tbl, adVarWChar
cat.Tables.Append tbl
'------------------------------------------------------------
' Definir une clé primaire sur la table
Set key = New ADOX.key
key.Name = "ClePrimaire"
key.Type = adKeyPrimary
key.RelatedTable = "personnes"
key.Columns.Append "nom"
'------------------------------------------------------------
' Ajouter la clé à la table
tbl.Keys.Append key
Set key = Nothing
Set tbl = Nothing
Set cat = Nothing
'------------------------------------------------------------
'Fin création du fichier Access.
'------------------------------------------------------------
'------------------------------------------------------------
'insertion de données dans le fichier Excel pour test.
'------------------------------------------------------------
Dim objConExcel As ADODB.Connection

Set objConExcel = New ADODB.Connection
With objConExcel
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties").Value = "Excel 8.0"
.Open strFileNameExcel
.Execute "insert into personnes
values('VanDenPlace','Robert','square de la



valee','52','1000','bruxelles','Belgique','07/08/1981','Bruxelles','Belgique
');"
.Execute "insert into personnes values('Gontrant','Julien','Rue
du
pont','2','1070','bruxelles','Belgique','24/1/1984','Mons','Belgique');"
.Execute "insert into personnes
values('Malbert','Jacques','Boulevard du



centre','115','1080','bruxelles','Belgique','12/11/1990','Namur','Belgique')
;"
.Close
End With
Set objConExcel = Nothing

'-----------------------------------------------------------------------
'Exportation des données du fichier Excel vers la base de donnée
Access.

'-----------------------------------------------------------------------
Dim objRsExcel As ADODB.Recordset
Dim objRsAccess As ADODB.Recordset
Dim objConAcces As ADODB.Connection

Set objConExcel = New ADODB.Connection
Set objConAcces = New ADODB.Connection
With objConExcel
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties").Value = "Excel 8.0"
.Open strFileNameExcel
End With
With objConAcces
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Data Source").Value = strFileNameAccess
.Open
End With
Set objRsAccess = New ADODB.Recordset
objRsAccess.CursorLocation = adUseClient
objRsAccess.CursorType = adOpenKeyset
objRsAccess.Source = "personnes"
objRsAccess.LockType = adLockOptimistic
Set objRsAccess.ActiveConnection = objConAcces
objRsAccess.Open
Set objRsExcel = objConExcel.Execute("select * from personnes order
by nom asc")
If Not objRsExcel Is Nothing Then
If Not objRsExcel.BOF And Not objRsExcel.EOF Then
Do While Not objRsExcel.EOF
With objRsAccess
.AddNew
.Fields.Item("nom").Value > objRsExcel.Fields.Item("nom").Value
.Fields.Item("Prenom").Value > objRsExcel.Fields.Item("Prenom").Value
.Fields.Item("Adresse").Value > objRsExcel.Fields.Item("Adresse").Value
.Fields.Item("Numero").Value > objRsExcel.Fields.Item("Numero").Value
.Fields.Item("CodePostal").Value > objRsExcel.Fields.Item("CodePostal").Value
.Fields.Item("Ville").Value > objRsExcel.Fields.Item("Ville").Value
.Fields.Item("Pays").Value > objRsExcel.Fields.Item("Pays").Value
.Fields.Item("DateNaissance").Value > objRsExcel.Fields.Item("DateNaissance").Value
.Fields.Item("VilleNaissance").Value > objRsExcel.Fields.Item("VilleNaissance").Value
.Fields.Item("PaysNaissance").Value > objRsExcel.Fields.Item("PaysNaissance").Value
.Update
objRsExcel.MoveNext
End With
Loop
End If
End If
objRsExcel.Close
objRsAccess.Close
Set objRsExcel = Nothing
Set objRsAccess = Nothing
objConAcces.Close
Set objConAcces = Nothing
objConExcel.Close
Set objConExcel = Nothing



'-----------------------------------------------------------------------
'Fin de l'exportation des données.

'-----------------------------------------------------------------------
Me.MousePointer = vbDefault

Exit Sub

Error_cmdMakeData_Click:

MsgBox "Erreur n° : " & CStr(Err.Number) & vbCrLf & "Description :
" & Err.Description, vbCritical + vbOKOnly, "Erreur."

Exit Sub
Resume

End Sub

Private Sub MakeColumn(ByVal strColName As String, ByRef objTb As
ADOX.Table, ByVal enmType As DataTypeEnum)

Dim col As ADOX.Column

Set col = New ADOX.Column
With col
.Name = strColName
.Type = enmType
End With
objTb.Columns.Append col
Set col = Nothing

End Sub



'---------------------------------------------------------------------------
---------------------------------------------------

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com



Avatar
Quasimodo
JCM presented the following explanation :
Bonjour Quasimodo

Merci pour ce code que j'ai adapté à mon appli, néanmoins j'ai un beug
pouvez-vous me confirmer :
dans : objRsAccess.Source = "personnes" il s'agit de la table access ?



OUI

dans : Set objRsExcel = objConExcel.Execute("select * from personnes order
by nom asc") personnes est la classeur excell ?



Non, c'est la feuille.

car le beug est sur cette
ligne : connection échouée

dans mon classeur excell le transfert est à partir de la feuille 1, faut-il
le préciser dans la requete et comment ?

Merci pour vos réponses
Cordialement
JCM





@+Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com
Avatar
JCM
ReBonjour

Je ne comprends pas dans cette partie de code :

Set objConExcel = New ADODB.Connection
Set objConAcces = New ADODB.Connection
With objConExcel
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties").Value = "Excel 8.0"
.Open strFileNameExcel
End With
With objConAcces
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Data Source").Value = strFileNameAccess
.Open
End With
Set objRsAccess = New ADODB.Recordset
objRsAccess.CursorLocation = adUseClient
objRsAccess.CursorType = adOpenKeyset
objRsAccess.Source = TableName
objRsAccess.LockType = adLockOptimistic
Set objRsAccess.ActiveConnection = objConAcces
objRsAccess.Open
Set objRsExcel = objConExcel.Execute("select * from LAZONE")

Cela Beug sur Set objRsExcell avec le message : le moteru de base de données
n'a pas pu trouver l'objet LAZONE

Pourtant mon classeur s'appelle LAZONE.xls et la feuille LAZONE et le chemin
est bon

Cordialement
JCM


"Quasimodo" a écrit :

JCM presented the following explanation :
> Bonjour Quasimodo
>
> Merci pour ce code que j'ai adapté à mon appli, néanmoins j'ai un beug
> pouvez-vous me confirmer :
> dans : objRsAccess.Source = "personnes" il s'agit de la table access ?

OUI

> dans : Set objRsExcel = objConExcel.Execute("select * from personnes order
> by nom asc") personnes est la classeur excell ?

Non, c'est la feuille.

car le beug est sur cette
> ligne : connection échouée
>
> dans mon classeur excell le transfert est à partir de la feuille 1, faut-il
> le préciser dans la requete et comment ?
>
> Merci pour vos réponses
> Cordialement
> JCM
>


@+Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com




Avatar
Quasimodo
JCM pretended :
ReBonjour

Je ne comprends pas dans cette partie de code :

Set objConExcel = New ADODB.Connection
Set objConAcces = New ADODB.Connection
With objConExcel
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties").Value = "Excel 8.0"
.Open strFileNameExcel
End With
With objConAcces
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Data Source").Value = strFileNameAccess
.Open
End With
Set objRsAccess = New ADODB.Recordset
objRsAccess.CursorLocation = adUseClient
objRsAccess.CursorType = adOpenKeyset
objRsAccess.Source = TableName
objRsAccess.LockType = adLockOptimistic
Set objRsAccess.ActiveConnection = objConAcces
objRsAccess.Open
Set objRsExcel = objConExcel.Execute("select * from LAZONE")

Cela Beug sur Set objRsExcell avec le message : le moteru de base de données
n'a pas pu trouver l'objet LAZONE

Pourtant mon classeur s'appelle LAZONE.xls et la feuille LAZONE et le chemin
est bon

Cordialement
JCM


"Quasimodo" a écrit :

JCM presented the following explanation :
Bonjour Quasimodo

Merci pour ce code que j'ai adapté à mon appli, néanmoins j'ai un beug
pouvez-vous me confirmer :
dans : objRsAccess.Source = "personnes" il s'agit de la table access ?



OUI

dans : Set objRsExcel = objConExcel.Execute("select * from personnes order
by nom asc") personnes est la classeur excell ?



Non, c'est la feuille.

car le beug est sur cette
ligne : connection échouée

dans mon classeur excell le transfert est à partir de la feuille 1,
faut-il le préciser dans la requete et comment ?

Merci pour vos réponses
Cordialement
JCM





@+Quaz

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com







re,
peut être que c'est sensible au majuscule et minuscule, faite untest?

--
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com