Interaction Excel / Access avec VBA

Fermé
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 - 28 févr. 2014 à 15:00
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 - 28 févr. 2014 à 21:25
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.
A voir également:

2 réponses

Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
28 févr. 2014 à 15:07
Bonjour,

Oui c'est possible.
1
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 54
28 févr. 2014 à 15:26
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
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 1 204
Modifié par Polux31 le 28/02/2014 à 16:28
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
skk201 Messages postés 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 54
28 févr. 2014 à 21:25
Oui c'est clair, merci ?
0