Bonjour,
La commande de base en VBA pour importer une feuille Excel dans une table est :
DoCmd.TransferSpreadsheet acImport, NumeroVersionExcel, "NomDeLaTableDestination", "Chemin\NomClasseurExcel.xls", True, "PlageDeDonnéesExcel"
Avec :
acImport : pour importer les données d'Excel vers Access.
NumeroVersionExcel : Valeur de la version d'Excel installée sur le pc - 8 pour Excel 2003.
NomDeLaTableDestination : Nom de la table de destinationdéjà existante sous Access.
Chemin : Répertoire dans lequel se trouve le classeur Excel à importer.
NomClasseurExcel.xls : Nom du classeur à importer.
True : Indique que la première ligne d'Excel contient le nom des champs (de la table). Dans le cas contraire, mettre False.
PlageDeDonnéesExcel : Facultatif - Indique la plage Excel à importer.
Par défaut, la première feuille du classeur Excel sera importée.
Il est impératif, par défaut, que le dessin de la feuille du classeur Excel à importer corresponde à celui de la table Access...
Par exemple, importer les cellules A1:C38000 du classeur "Factures 2006.xls" situé dans "C:\Données\Factures" dans la table "tblFactures"
Sub ImporterExcel()
'En cas d'erreur, on va à l'étiquette GererErreur
On error goto GererErreur
'On importe Excel
DoCmd.TransferSpreadsheet acImport, 8, "tblFactures", "C:\Données\Factures\Factures 2006.xls", True, "A1:C38000"
'On quitte le programme
Exit Sub
GererErreur:
'En cas d'erreur on affiche un message avec le numéro et la description de l'erreur...
MsgBox Err.Number & " : " & Err.Description, vbCritical + vbOKOnly, "Il y a une erreur !"
'... et on revient à la suite du programme
Resume GererErreur
Ens Sub
J'espère avoir bien répondu !