Exctraction/connection base de données

Résolu
Bonjour a tous,

J´ai créé une macro Excel qui travaille a partir d' une base de données, pour integrer cette derniere a ma maccro je procede mmanuellement depuis un SAP. Cad que j´extraie les données en Excel et je copie colle mes données dans mon Excel.

Je souhaiterai automatiser cette connection/exctraction de données. Mes soucis sont que je ne connais pas mon provider, non plus ou chercher mes datas sources... Je n´ai aucune idées par ou commencer... Je tiens a préciser que je suis novice, alors si je me suis trompé de forum ou plus, je m´en excuse.

Si vous avez des pistes de réflexion je suis prenneur!

Merci d´avance pour l´aide.

2 réponses

  1. Re bonjour,

    Avant d´encoder en VBA cette connection je cherche a le faire manuellement pour bien comprendre le procces.
    Je pense le faire À partir de SQL Server, mais jénsuis pas sur et de plus je connais pas le serveur, ect...

    Un peu d´aide SVP
    0
    1. Contributeur Ambassadeur
      bonsoir, as-tu une macro qui fonctionne? que souhaites-tu y changer?
      0
      1. Bonsoir,

        Si ma maccro fonctionne, automatiser la conection a al base de données, cad ne pas faire une extraction manuelle, puis copier coller.

        Je pense que cést un Sql Server ODBC, je suis a fond dessus et je ne comprends pas tout ce que je lis mais jéssaye, je ne pense pas que cela soit tres compliqué et que cela pourriat economiser bcp de temps a l utilisateur.

        Merci
        0
      2. Contributeur Ambassadeur
        @GermPeruJe pense, en effet, que tu dois utiliser ODBC. As-tu une question?
        0
      3. @yg_beBonjour yg_be,

        Aprés 3 jours de reflexion, voila ou j´en suis arrivé. Je pense qu´en VBA ca doit etre un truc du genre:
        
        Public Cnx As New Connection
        Public Function ObtChn() As String
        Dim Chn As String
        Chn = "driver={SQL Server};" & "server=...;database=...;uid=...;pwd=.." 
        ObtChn = Chn
        End Function
        
        Private Sub btnCnx_Click()
        Dim Vsql As String
        Dim Vrst As New Recordset
        
        On Error GoTo ErrorBD
        Cnx.ConnectionString = ObtenerChn()
        Cnx.Open
        Vsql = "Select (info recherché) from (base de données) where codigo='" & (ce que je cherche) & "'"
        Vrst.Open Vsql, Cnx
           Range("B10").Value = vrst(0)
           Range("B11").Value = vrst(1)
        '   ... toutes les colones que je voudrais
        Vrst.Close
        Cnx.Close
        
        Exit Sub
        ErrorBD:
        MsgBox Err.Description
        End Sub


        Le detail est que pour continuer et faire des tests je dois me connecter et je ne connais pas le driver,serveur et ou trouver l´acces a la base de données. Je ne sais pas ou je peux trouver ces infos et comment faire la connection...

        Merci du coup de main
        0
      4. Contributeur Ambassadeur
        @GermPerubonjour, le plus simple, c'est de commencer à faire à la main, en te connectant à la base via les options et menus de Excel.
        0
      5. @yg_beBonjour,

        Je viens tout juste d´y arriver, connection manuelle! Je ne savais pas que c´était en microsoft query, et ca va faire 4 jours que j´essaye encore et encore...je suis fan :) Je ne comprends pas tout ce que je fais, le SQL je comprends meme rien mais ca a láir d etre logique... bref ca a l´air de marcher; je me sius connecté au serveur et j´ai ma base de données qui charge, il me manque plus que la configurer, car jái des données qui ne me sont pas utiles et pour optimiser le chargement des données, ca va me couter bcp de temps ca aussi...

        Un conseil, si je définit mes colones dans mon txt de commandes, je n´ai pas a configurer en vba límport des données; il me suffirait juste dáctualiser mes liens a lóuverture de mon classeur? Et de spécifier quelle connection je veux actualiser?

        Une idée pour la mise a jour de ma base de données a l´ouverture de mon classeur?

        Quand je me suis connecté au server sql, ma chaine de connection est la suivante:
        DRIVER=SQL Server;SERVER=BLADELAB01;UID=etiquetas;;APP=Microsoft Office 2013;WSID=LAPTOP82;DATABASE=SBO_PROD

        Saurais tu comment l´actualiser a l´ouverture de mon classeur? Ou ce quíl faut que je fasse pour ne pas créer de probleme, enfin plus que j´en ai!

        Merci
        0