Transfert et copie de données

renifleur Messages postés 1 Date d'inscription mercredi 16 mai 2007 Statut Membre Dernière intervention 17 mai 2007 - 17 mai 2007 à 14:53
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 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

2 réponses

chapaleufu Messages postés 29 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 19 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.
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
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

MPi
0
Rejoignez-nous