Recherche macro pour ouvrir Access

Résolu
Bonjour à tous,

Je suis à la recherche d'une macro qui depuis un classeur Excel ouvre une base Access.
Pouvez-vous m'aider?
Cdt Fagots

11 réponses

  1. Bonjour,

    un classeur Excel ouvre une base Access Qu'entendez-vous par ouvrir ????
    0
    1. Bonjour,
      Ouvrir cela veut dire accéder à la base access. ceci afin d'éxécuter certaine tache dans cette base.

      Cdt
      0
      1. Re,

        un exemple de connexion:

        'pensez a ajouter:
        'outil:reference DAO x.x Object Library
        'ou
        'Microsoft Access xx.x Object Library
        Public conn As Object  'ADODB.Connection
        Public rs  As Object   'ADODB.Recordset
        
        Sub Connecte_base_Access()
            Dim Chemin_Base
          
            Set conn = CreateObject("ADODB.Connection")
            Set rs = CreateObject("ADODB.recordset")
          
            Nom_base = "Equipement_test.accdb"
            Chemin_Base = ThisWorkbook.Path & "\" & Nom_base
            'chaine de connexion 2007
            'connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Chemin_Base
            'chaine de connexion 97-2013
            connstring = "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=" & Chemin_Base
            'cn.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};Data source=C:\Users\PC\Documents\Base de données1.accdb"
            'Connexion a la base
          conn.Open connstring
          
          Sql = "select Matricule from Redacteur order by Matricule asc"
          rs.Open Sql, conn, 3, 3
          rs.MoveFirst
          
          Do Until rs.EOF
            DoEvents
            Combo_Matricule.AddItem (rs.Fields("Matricule"))
            rs.MoveNext
          Loop
          rs.Close
        End Sub


        A+
        0
        1. Bonjour, ce bloque au niveau " conn.Open connstring"
          voilà ce que j'ai copier
          Sub Connecte_base_Access()
          Dim Chemin_Base

          Set conn = CreateObject("ADODB.Connection")
          Set rs = CreateObject("ADODB.recordset")

          Nom_base = "Carlac.accdb"
          Chemin_Base = ThisWorkbook.Path & "\" & Nom_base
          'chaine de connexion 2007
          'connstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Chemin_Base
          'chaine de connexion 97-2013
          connstring = "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)}; DBQ=" & Chemin_Base
          'cn.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};Data source=C:\Users\PC\Documents\Base de données1.accdb"
          'Connexion a la base
          conn.Open connstring

          Sql = "select Matricule from Redacteur order by Matricule asc"
          rs.Open Sql, conn, 3, 3
          rs.MoveFirst

          Do Until rs.EOF
          DoEvents
          Combo_Matricule.AddItem (rs.Fields("Matricule"))
          rs.MoveNext
          Loop
          rs.Close
          End Sub

          merci de votre aide
          Cdt
          0
          1. Re,

            Dans l'exemple, la base est dans le meme repertoire que le fichier excel et il faut lancer le fichier excel de son repertoire pour avoir le Path
            0
            1. Ok mais maintenant cela bloque à
              "rs.Open Sql, conn, 3, 3" pourquoi?
              Cdt
              0
              1. Re,

                Il faut dans la requete SQL mettre le nom de votre table et le ou les noms des champs de cette table
                ici requete avec tri ascendant:
                Sql = "select NomduChamp from MaTable order by NomduChamp asc"

                Vous connaissez SQL Access ??
                0
                1. en réponse à la question non
                  cdt
                  0
                  1. Re,

                    Ben, vous allez faire comment pour votre job ???
                    0
                    1. Re,

                      l'ironie n'est pas de mise. Ce n'est pas de l'ironie ni un jugement de valeur, c'est une simple question de bon sens et je suis pret a vous aider quoi qu'il en soit. C'est vous qui voyez
                      0
                      1. l'ironie n'est pas de mise.
                        Je fais mon job . ce n'est certainement pas à vous d'en juger.
                        cdt
                        -1
                        1. pourquoi avoir mis la question en résolue alors que ce n'est pas le cas. Je ne comprends pas votre motivation.
                          Jusqu'à présent toute mes questions ont reçu des réponses et les personnes m'ayant données celle-ci ne ce sont permis de juger et de mettre des commentaires ironiques. Bien au contraire celle-ci mon fait progresser au contraire de vous.
                          Fagots
                          0
                        2. @fagotsRe,

                          Ce n'est pas moi qui est mis la question en resolu, maintenant si vous etes un peut irrité, je ne pense pas y etre pour quelque chose, revenez a un etat d'esprit positif et voyons ce que nous pouvons faire pour vous
                          0
                        3. ok
                          0
                        4. @fagotsRe,

                          Qu'est-ce qu'il vous faut ?
                          0
                        5. re,
                          ce que je cherche, à partir de mon classeur Excel ouvrir ma base Access afin de réaliser mes macro. Attention je sais faire à partir d'Excel lancer mes macro dans Access , mais dans ma base Access j'ai une requête de création de table qui bloque ma macro d'Excell. a moins que vous me donniez la solution pour réaliser celle-ci directement je n'ai pas d'autre moyen pour l'instant que d'ouvrir ma base Access et réaliser mes macro Access en direct sur la base.
                          Espérant avoir était le plus clair possible.
                          Cdt
                          Fagots
                          0

                      Discussions similaires

                      Quick Access service

                      4 réponses