IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Faire une requête SQL


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué Avatar de Pynouz
    Profil pro
    Inscrit en
    Juin 2010
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 274
    Points : 177
    Points
    177
    Par défaut Faire une requête SQL
    Bonjour,
    J'ai un classeur excel où j'effectue plusieurs requêtes sur une base de donnée MySQL. Pour cela, j'ai donc installer ODBC. J'ai fais mes requêtes jusqu'ici en faisant: données--> données externes --> à partir d'autres sources--> provenance: Microsoft Query--> NomBdd. (puis je constuire ma requête)
    J'aimerai maintenant mettre une de mes requêtes directement dans le code VBA d'une macro mais je ne sais pas comment faire. J'ai cherché sur différent sites mais n'y est rien trouvé de concluant.
    Si vous avez une idée..

    EDIT: Sinon est t'il possible de rafraichir juste une cellule? je sais qu'il existe la méthode refresh.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'exemple
    ThisWorkbook.RefreshAll
    Mais est-il possible de faire de même pour une unique cellule ou une seul feuille?

  2. #2
    Membre du Club
    Inscrit en
    Mai 2002
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 84
    Points : 65
    Points
    65
    Par défaut
    Bonjour !

    Je viens d'être aidée sur un autre post concernant une requête dans VBA, moi-même apprenant actuellement à le faire. Je te copie-colle mon code en espérant que ça puisse t'aider. Moi aussi j'ai galéré pour trouver quelque chose sur internet !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    Sub test()
     
    Dim Requete As String, Conn As String, Sh As Worksheet
     
    Set Sh = Sheets("Feuil1")
     
    'La chaîne de connexion
     Conn = "ODBC;"
     Conn = Conn & "DSN=maDSN;"
     Conn = Conn & "DATABASE=bdd;"
     Conn = Conn & "SERVER=monServeur;"
     Conn = Conn & "SRVR=monSrvr;"
     
     
    'la chaîne de la requête
    Requete = "SELECT fzaf.cdsoc, fzaf.noaff, fzea.cdeta " & _
             "FROM fzre, f_no, fzaf, fzea " & _
             "WHERE fzno.noneu  = fzre.noneu " & _
             "AND fzaf.sraff  = fzre.sraff; "
     
    With Sh.QueryTables.Add(Connection:=Array(Conn), Destination:=Sh.Range("A1"))
    Sh.Range("A1").CurrentRegion.ClearContents
    .CommandText = Requete
    .Name = "xxxx"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .BackgroundQuery = True
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = True
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .PreserveColumnInfo = True
    .Refresh BackgroundQuery:=False
    End With
     
    End Sub
    Voilou !

Discussions similaires

  1. [WD16] Faire une requête SQL sur une table ?
    Par EriCstoFF dans le forum WinDev
    Réponses: 9
    Dernier message: 01/09/2011, 11h16
  2. Faire une Requête SQL
    Par Vincinho dans le forum Langage SQL
    Réponses: 11
    Dernier message: 24/02/2010, 13h43
  3. Comment faire une requête Sql en VB
    Par Menontona dans le forum VB.NET
    Réponses: 3
    Dernier message: 13/03/2009, 12h33
  4. Réponses: 0
    Dernier message: 16/12/2007, 21h02
  5. Comment faire une requête SQL dans un datatable
    Par Passepoil dans le forum VB.NET
    Réponses: 2
    Dernier message: 05/02/2007, 21h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo