Interaction Excel / Access avec VBA

Fermé
Signaler
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
-
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
-
Bonjour à tous,

je voulais savoir si vous savez s'il y a moyen de faire une macro excel qui va chercher une valeur dans une table access pour l'inséré dans une cellule.

Je m'explique.

Là ou je travaille, nous devons prendres des demandes (inscription). Pour cela nous utilsion une feuille excel.

Dans ce classeure excel il y a une zone consacré à des référances (Dr, Enseigants, etc.).

L'idée serait que si la cellule A1 contiennt le nom du prof. que la macro aille chercher ce nom dans la BD Access et qu'elle en retir le numéro de téléphone de cette personne pour l'inscrire dans la cellule A2.

Je veux surtout savoir si c'est possible avant de savoir comment le faire.

Merci a tous.

2 réponses

Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 190
Bonjour,

Oui c'est possible.
1
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
54
Haha maintenant la phase intérogatoire. :D

Est-ce extrèement compliqué ?
Est-ce que vous avez des piste au sujet du code qu'il faudrait utiliser ?

J'ai essayé de faire des enregistrements de macro mais ça ne m'affiche pas l'interaction avec Access.
0
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 190
Tout d'abord :
Chercher la chaîne de connexion qui correspond à sa version d'Access

Ensuite dans l'éditeur VB, ajouter la référence Microsoft ActiveX Data Object x.xx Library (Outils > Références)

Dans un module:

Option Explicit
'******************************************************
'/!\ Référence Microsoft ActiveX Data Object x.xx Library nécessaire *
'******************************************************

'Objet connexion ADO
Private AdoConn As ADODB.Connection
Private Const user = ""
Private Const pw = ""

'Procédure de connexion
Public Sub OpenCnxBD()
Dim CnxString As String
Dim chemin As String

chemin = "C:\data\maBdd.mdb"      'chemin d'accès à la Bdd

Set AdoConn = New ADODB.Connection   'création de l'objet connexion

If AdoConn.State = adStateOpen Then  'si la base est déjà ouverte alors on sort de la procédure
    MsgBox "La connection est déjà ouverte"
    Exit Sub
End If

        '======== Ouverture Access ============'
        '    A modifier pour autres bases      '
        '======================================'
'Adapter la chaine de connexion en foction de la version Access        
CnxString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                   "Data Source=" & chemin & ";" & _
                   "user ID=" & user & ";" & _
                   "password=" & pw & ";" & _
                  "Persist Security Info=False"

AdoConn.Open CnxString  'passage de la chaine de connexion
AdoConn.CursorLocation = adUseClient

On Error Resume Next

    If Err <> 0 Or AdoConn.State = adStateClosed Then    'si un erreur de connexion se produit
        MsgBox "Connection impossible avec la base"
        Exit Sub
    End If

End Sub


Je te laisse chercher pour le passage de requêtes à la base.

«Ce que l'on conçoit bien s'énonce clairement, Et les mots pour le dire arrivent aisément.»
Nicolas Boileau
1
Messages postés
938
Date d'inscription
jeudi 11 septembre 2008
Statut
Membre
Dernière intervention
16 octobre 2016
54
Oui c'est clair, merci ?
0