Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Mots clés Nom d'utilisateur
Messages sans réponse

Access : travail avec feuille de calcul excel

Leteint, le mercredi 23 août 2006 à 16:56:08 
 Signaler ce message aux modérateurs

Bonjour,
je travaille avec Access 2000 et access 2003.
Je cherche à récupérer des valeurs d'une feuille excel.

J'ai constemment une erreur : "Instruction SQL non valide; 'DELETE', 'INSERT', 'PROCDURE', 'SELECT' ou 'UPDATE' attendus."
Je pense que l'erreur se trouve dans l'instruction : rst1.Open "Sheet1", cnxn
sans vraiment comprendre pourquoi.

Je fais la même chose avec une base access et ça marche trés bien ...
Donc si vous avez une piste je vous serai trés reconnaissant.

Je vous livre le code commenté :


Private Sub btn_req_Click()
On Error GoTo Err_btn_req_Click

'connection au classeur externe
Dim cnxn As New ADODB.Connection
Dim rst1 As New ADODB.Recordset

'connection à la source de donnée externe
cnxn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=F:\access\procurmentDM\TEST.xls;" & _
"Extended Properties=Excel 8.0;"

' ouverture d'un jeu d'enregistrements en lecture seule sur le fichier excel
Set rst1 = New ADODB.Recordset


' ouverture de la feuille "Sheet1"
rst1.Open "Sheet1", cnxn



'un pauvre print des colonnes
Debug.Print rst1.Fields(1).Value, rst1.Fields(2).Value



'nettoyage de la mémoire
rst1.Close
Set rst1 = Nothing
cnxn.Close
Set cnxn = Nothing
Exit Sub

' en cas d'erreur :
Err_btn_req_Click:
MsgBox Err.Description
Exit Sub
End Sub


Merci du temps que vous avez pris pour lire ma question.

JB

1

blux, le jeudi 24 août 2006 à 11:25:00
  • +1

Salut,

je pense que tu crées une connexion pour une base de données, et tu ouvres un objet excel, donc le système n'y comprend plus rien...
A+ Blux

 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"

Répondre à blux

2

Leteint, le jeudi 24 août 2006 à 15:39:54

Bonjour et merci de ta réponse et du temps que tu as pris à chercher.

Par chance, on vient juste de m'expliquer, je te donne donc l'info :

cnxn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=F:\access\procurmentDM\TEST.xls;" & _
"Extended Properties=Excel 8.0;"
ouvre bien une feuille excel

mais par contre il faut faire :
rst1.Open "Sheet1", cnxn,,, adcmdtable
pour ouvrir une plage nommée, ce qui n'est pas la même chose qu'une feuille de calcul d'un document Excel !

En outre le new était de trop dans la déclaration du recordset.

Merci

@+

Répondre à Leteint

3

Jean-Jacques, le jeudi 24 août 2006 à 18:37:00

Bonjour,
J'ai trouvé une solution en VB. Dans l'exemple, il s'agit d'importer la feuil2! dans Access. Ça fonctionne, j'ai essayé en Access 2000.



DoCmd.TransferSpreadsheet acImport, 8, "<Nom de la table>", "C:\<Chemin explicite>\<fichier Excel>.xls", True, "feuil2!"

Cordialement

La science ne fait que trouver ce qui existe depuis toujours.
Hubert REEVES.

Répondre à Jean-Jacques

4

 Leteint, le jeudi 24 août 2006 à 19:01:34
  • +1

Merci, beaucoup c'est vraiment super ! :-)
C'est en effet le seul moyen que j'imagine désormais ...

Merci Encore :)

Répondre à Leteint
Calculer mon temps travail Bonjour, je souhaiterai que mon envoie natalie.trichereau@gmail.com une feuille de calcul pour calculer mon temps travail jour,semaine,mois merci de votre aide. www.commentcamarche.net/forum/affich-4894091-calculer-mon-temps-travail
Rendre invisible une feuille dans excel (Résolu) Voilà mon problème : je voudrais rendre invisible une feuille dans excel lorsque je coche une case. Ma case est lié à une cellule qui dit VRAI lorsque coché et FAUX lorsque décoché. Merci de votre aide les internautes! Nico www.commentcamarche.net/forum/affich-1527884-rendre-invisible-une-feuille-dans-excel
Besoin d'aide pour formule de calcul excel (Résolu) Bonjour, Ne connaissant pas du tout les formules de calcul excel, je vous demande de l'aide. Je souhaite programmer pour une cellule : si le montant de G5 est inférieur à C5 marqué 0, si il est supérieur à C5 marquer C5+D5. j'ai testé toutes les... www.commentcamarche.net/forum/affich-12725651-besoin-d-aide-pour-formule-de-calcul-excel
[Excel] Chemin et nom de stockage de feuille de calculIndiquer automatiquement le chemin d'accès (path) et le nom de stockage de toute feuille de calcul Noter dans une cellule (A& par exemple) la formule : =cellule("nomfichier";A1) A chaque sauvegarde et/ou déplacement de fichier dans votre... www.commentcamarche.net/faq/sujet-962-excel-chemin-et-nom-de-stockage-de-feuille-de-calcul
Barre de menus Feuille de calcul ExcelBonjour ! Quelqu'un pourrait-il m'indiquer comment récupérer la barre de menus Feuille de calcul dans Excel ? Merci beaucoup. www.commentcamarche.net/forum/affich-1072270-barre-de-menus-feuille-de-calcul-excel
[EXCEL] calcul de date (Résolu)salut! sur une feuille d'excel , la premiere colonne represente la date de départ en congé, la seconde representela durée ; et je veux que la derniere affiche automatiquement la date de reprise de travail. Merci de m'aider , je suis un debutant www.commentcamarche.net/forum/affich-826224-excel-calcul-de-date
Calcul d'heure sur exelbonjour j'ai fait une feuille de calcul pour calculer le nombre d'heure travaillées par jour puis par semaine puis par mois par des emploiers mais ya pas moy!!! pour 9h par jour pdt 6 jour j'obtien 2.25 heure travaillées par semaine!! ça me stresse... www.commentcamarche.net/forum/affich-1119016-calcul-d-heure-sur-exel
Tableur - Les feuilles de calculLa notion de feuille de calcul Un tableur présente les données et les formules sous forme d'un tableau (lignes et colonnes) appelé feuille de calcul. Une feuille de calcul est constitué de lignes (numérotées à l'aide de chiffres) et de colonnes... www.commentcamarche.net/contents/tableur/tabfeuille.php3