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 :

Ecrire dans excel les résultats d'une requête SQL [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Ecrire dans excel les résultats d'une requête SQL
    Bonjour à tous et à toutes,

    Dans un premier temps, je tiens à préciser que j'ai vraiment essayé pendant 2 jours de chercher et rechercher mais en vain la réponse à ma question.
    Je n'ai pas su trouver cela principalement car je n'emploie pas du tout la même méthode que ce qui est préconisé à chaque réponse donnée sur le forum.

    Je m'explique, pour écrire dans excel à partir d'une requête SQL qui se connecte à une BDD, je crée une connexion à la BDD et pour cela, j'utilise ce script qui fonctionne très bien pour d'autres macros (comme des macros qui lisent les cellules excel et s'en sert pour écrire sur une BDD)

    Bref, tout cela pour dire que jusque là j'utilisais une méthode trouvée sur internet pour me connecter, elle fonctionne et c'est la seule que j'ai réussi à utiliser car je ne comprends pas vraiment comment fonctionnent les autres.

    Je vous montre le code :

    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
    Sub creation_tiers()
     
    Dim variable1 As String
    Dim variable2 As String
     
    Dim cn As New ADODB.Connection
     
        'Specification du fournisseur OLE DB
            On Error GoTo DisplayErrorInfo
            cn.Provider = "sqloledb"
     
        'Propriétés de la connexion SQLOLEDB
            cn.Properties("Data Source").Value = "MSSQLSERVER2012" 'nom du serveur
            cn.Properties("Initial Catalog").Value = "BIJOU" 'nom de la base
     
        'Authentification windows
            cn.Properties("Integrated Security").Value = "SSPI"
     
        'Ouverture de la base de données
            cn.Open
     
     
        'début séquence SQL
            Set Rs = New ADODB.Recordset
            Rs.Open ("requête SQL"), cn
     
        'fermeture connexion
            cn.Close
     
        'gestion des erreurs
        GoTo DisplayEnd
    DisplayErrorInfo:
     '       MsgBox ("Impossible de se connecter à la base de données")
        GoTo DisplayEnd
    DisplayEnd:
    Le problème c'est que je vois des recordset, des connection dans les réponses données pour ce genre de problème, pour stocker le résultat d'une requête sauf que je n'y arrive pas avec la méthode de connexion que j'utilise.

    J'en appelle à votre aide. J'utilise SQL SERVER 2012, ne passe pas par ACCESS. Je ne sais pas si cela va servir.

    D'avance, merci à tous

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 594
    Points : 34 266
    Points
    34 266
    Par défaut
    Salut,
    une fois ton recordset ouvert, pour recopier le contenu a partir d'une cellule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Rs.Open ("requête SQL"), cn
    Range("A1").CopyFromRecordset RS
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Candidat au Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mars 2016
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Mince ! c'était vraiment aussi bête merci beaucoup

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     With CreateObject("ADODB.Connection")
        .Open "Provider=SQLNCLI;Server=" & Server & ";Database=" & BASE & ";UID=" & User & ";PWD=" & PassWord & ";"
        Range("A1").CopyFromRecordset .Execute("Select * from Table Where Champ='toto'")
        .Close
    End With

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PowerShell] Tester la présence d'une valeur dans les résultats d'une requête sql
    Par patic dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 11/03/2016, 09h32
  2. [MySQL-5.6] Exporter les résultats d'une requête SQL dans un fichier .sql ou .txt
    Par js8bleu dans le forum Requêtes
    Réponses: 1
    Dernier message: 17/09/2013, 10h13
  3. Réponses: 2
    Dernier message: 07/02/2012, 09h17
  4. [AC-2002] export dans excel du résultat d'une requête avec paramètre
    Par marcelisa2 dans le forum VBA Access
    Réponses: 6
    Dernier message: 31/10/2010, 21h01
  5. Réponses: 5
    Dernier message: 20/03/2007, 17h55

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