Lien entre excel et access Vba ?

Signaler
Messages postés
20
Date d'inscription
jeudi 11 novembre 2004
Statut
Membre
Dernière intervention
27 janvier 2008
-
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
-
Salut les pros !!

Je continue dans mon apprentissage de Vba avec office et là j'aimerais jouer avec les bases de données.

J'ai un formulaire dans Excel qui est codé en Vba et qui me permet de récupérer des infos ( noms et numéros de téléphones).

J'aimerais avoir une base de données des noms et numéros de téléphones (j'ai Access 2003).
Quand un nouveau nom est entré avec son numéro de téléphone dans mon formulaire Excel, j'aimerais que celui-ci s'ajoute à la base Access.

Ceci implique :  
  De pouvoir lire dans la base de donnée access depuis excel
  De pouvoir écrire dans de donnée access depuis excel

Je ne sais pas si c'est facilement réalisable... si oui, je vous serais très reconnaissant de m'apprendre comment faire. Si non, pouvez-vous m'indiquer des tutoriaux/articles à lire pour que j'apprene à le faire ?

Y a t-il des ptites subtilités à savoir dans la communication Excel <-> Access qu'il vaut mieu savoir en débutant pour ne pas perdre des heures bêtement ?

Merci à tous !
@+

4 réponses

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Fais une recherche sur ces mots ici-même sur ce site et tu devrais trouver pas mal d'exemples

Access.Application
Excel.Application

Tu peux
soit travailler  en créant une référence au programme distant directement dans le menu de l'IDE (cocher Access, par exemple, si tu codes sous Excel) et utliser
Dim objAccess as New Access.Application

soit créer une référence directe avec CreateObject("Access.Application")

Sous Office, préfère la 2e option. Ça t'évitera les problèmes de versions différentes d'un ordi à l'autre.

MPi
Messages postés
20
Date d'inscription
jeudi 11 novembre 2004
Statut
Membre
Dernière intervention
27 janvier 2008

Merci de la réponse, je fais ma recherche.

Petite question de terminologie.. Qu'est ce qu'un  DataTable et un DataAdapter dans l'exemple:   

Dim DT As New DataTable
Dim dataAdapter AsNew OleDb.OleDbDataAdapter(sqlStr, connStr)
dataAdapter.Fill(DT)

Merci
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Sans être certain, je pense que c'est du .NET

MPi
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,

Effectivement Les DataTable et les DataAdapter sont des Objets .NET

Pour en revenir à ton problème, tu n'as aucunement besoin de référencer ACCESS depuis EXCEL. Il te suffit de faire une connexion à ta base de données à l'aide d'ADO => voir la section Codes qui regorger d'exemples sur la connection à une base de données.
Recherche: Connection ACCESS ADO

Grace à ADO tu pourras utiliser des objet Connection, Recordset qui te permetrons de lire et ecrire dans ta base de données access et ce sans jamais ouvrir ce bon vieil ACCESS.
Voila en espérant avoir pu t'aider un peu.

@+: Ju£i?n
Pensez: Réponse acceptée