Exctraction/connection base de données

Résolu
GermPeru Messages postés 175 Statut Membre -  
GermPeru Messages postés 175 Statut Membre -
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. GermPeru Messages postés 175 Statut Membre
     
    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
  2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonsoir, as-tu une macro qui fonctionne? que souhaites-tu y changer?
    0
    1. GermPeru Messages postés 175 Statut Membre
       
      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. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > GermPeru Messages postés 175 Statut Membre
       
      Je pense, en effet, que tu dois utiliser ODBC. As-tu une question?
      0
    3. GermPeru Messages postés 175 Statut Membre > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Bonjour 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. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > GermPeru Messages postés 175 Statut Membre
       
      bonjour, le plus simple, c'est de commencer à faire à la main, en te connectant à la base via les options et menus de Excel.
      0
    5. GermPeru Messages postés 175 Statut Membre > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       
      Bonjour,

      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