renifleur
Messages postés1Date d'inscriptionmercredi 16 mai 2007StatutMembreDernière intervention17 mai 2007
-
17 mai 2007 à 14:53
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
17 mai 2007 à 23:36
bonjour,
je veux avoir si il y a un programme complet en VBA qui me permettra d'importer des données à partir d'un fichier excel dans une table accèss existant déjà sinon dans une autre nouvelle table puis de recopier mes données dans mon ancienne table
chapaleufu
Messages postés29Date d'inscriptionsamedi 28 décembre 2002StatutMembreDernière intervention19 mai 2007 17 mai 2007 à 20:16
il suffit d'ajouter chaque record dans la table en question.
1- copier les donnnees de la feuille excel dans un array (avec l'objet range, pas en faisant une boucle)
2- ouvrir une connexion avec la base de donnees
3- faire un boucle sur le array pour ajouter les records dans la table avec un script SQL utilsant "insert to"
4- fermer la connexion
pour ajouter les records dans la table, tu peux utiliser les objets DAO ou ADO (il faudra ajouter l'un ou l'autre comme reference), je prefere utiliser ADO.
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 17 mai 2007 à 23:36
Comme tu dois travailler avec Access à partir d'Excel ou vice versa, tu devras créer des variables-objets pour te "brancher" à l'application distante.
exemple si tu es sous Excel
Dim AccessApp As New Access.Application
' Il faut créer une référence à Access dans le menu Outils / Références
À partir de là, tu peux utiliser les méthodes d'Access comme
DoCmd.TransferSpreadsheet qui te permet d'envoyer une sélection dans une table sans devoir boucler quoi que ce soit.
Regarde ça dans l'aide. Il y a différents paramètres que tu peux utiliser selon tes besoins