rahmoun111
Messages postés5Date d'inscriptionsamedi 7 août 2004StatutMembreDernière intervention17 août 2004
-
16 août 2004 à 10:19
rach_zar
Messages postés7Date d'inscriptionmercredi 4 mai 2005StatutMembreDernière intervention23 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:
Automatiser import excel vers access
Importer des données excel dans access vba - Meilleures réponses
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200621 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