Interaction Excel / Access avec VBA

skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   -  
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   -
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.

--
*Pensez mettre vos messages en [Résolu] et cliquer sur le + des conseil qui vous ont été utils"

2 réponses

  1. Polux31 Messages postés 7219 Statut Membre 1 204
     
    Bonjour,

    Oui c'est possible.
    1
    1. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
       
      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
  2. Polux31 Messages postés 7219 Statut Membre 1 204
     
    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
    1. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
       
      Oui c'est clair, merci ?
      0