Importation données excel vers access

rahmoun111 Messages postés 5 Date d'inscription samedi 7 août 2004 Statut Membre Dernière intervention 17 août 2004 - 16 août 2004 à 10:19
rach_zar Messages postés 7 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 23 mai 2005 - 18 mai 2005 à 11:17
bonjour,

je suis entrain de realiser une petite application d'importation et d'exportation des données excel vers les tables d'une BD access.

la partie de l'exportation je l'ai acheminé, mais j'ai besoin que quelqu'un m'aide pour realiser la 2ème partie qui permet d'importer des données Excel et de les stocker dans les tables d'une base de données acces.
Cette 2ème partie a pour objectif:
- choisir le fichier excel (son chemin + son nom)
- choisir la base de données access
- afficher toutes les tables de la BD choisis
- parmis l'une des tables affichées, choisir celle où les données seront ajoutées.

C'est tous, j'espere que c'est pas trop !
A voir également:

2 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
16 août 2004 à 15:20
Salut,

Je ne sais pas quelle méthode tu utilises pour exporter la base access mais voilà une méthode pour importer un tableau excel.

' Import excel >> access
'
' Ne pas oublier de cocher les références dans Projet
' Microsoft Access et Microsoft DAO
'
'
Private Sub Command1_Click()
Dim db As Database
Dim obj_Access As Access.Application
Dim Nom_Base_Access As String
Dim Nom_Fichier_Excel As String
Dim Nom_Table As String

  Nom_Fichier_Excel = "c:\temp\classeur2.xls"
  Nom_Base_Access = "c:\temp\bd1.mdb"
  Nom_Table = "Table1"
  
  ' Définition de la base de données
  Set db = OpenDatabase(Nom_Base_Access)
  
  ' Création d'un objet Access
  Set obj_Access = New Access.Application
  
  ' Ouverture de la base Access
  obj_Access.OpenCurrentDatabase Nom_Base_Access
  
  ' Importation du  fichier excel
  ' ATTENTION : si la table existe, il y a erreur !
  obj_Access.DoCmd.TransferSpreadsheet acImport, 8, Nom_Table, Nom_Fichier_Excel, True, "A1:B5"
  
  ' Fermeture et enreg de la base
  obj_Access.Quit 'acQuitSaveNone
  
  ' Libération de la mémoire
  Set obj_Access = Nothing
  
End Sub


A la place de "A1:B5", tu indiques la plage du tableau sachant que là c un exemple pour 2 colonnes de 5 lignes mais que tu peux mettre "A1:B500" ou + mais que ça ne prendra que les lignes où il y a qque chose.

Enfin, bon, tu adaptes à ta convenance.

PS : le '8' signifie une base access 97 pour les versions > je pense que ça doit être 9 ou 10 (access 2000 ou 2003 ?).

Cordialement, CanisLupus

Tous les glands ne deviennent pas des chênes mais tous les chênes ont été des glands
0
rach_zar Messages postés 7 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 23 mai 2005
18 mai 2005 à 11:17
0
Rejoignez-nous