Exporter résultats de requettes SQL Server vers Excel

  • Initiateur de la discussion Initiateur de la discussion mimy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mimy

XLDnaute Occasionnel
Bonjour à tous,

J'ai sur SQL Server une liste de requettes à executer.
Je voudrais exporter automatiquement vers excel, via une macro VBA, les résultats de ces requettes SQL afin d'éviter de faire plusieurs copier/coller.
J'ai beau lire plusieurs tuto mais j'ai du mal à y arriver...

Merci pour votre aide!!!!!!🙂
 
Re : Exporter résultats de requettes SQL Server vers Excel

Bonjour

Soit tu invoques les requêtes (view) depuis Excel : données, autres sources, SQL server
soit tu exportes depuis SQL SERVER Ce lien n'existe plus
 
Re : Exporter résultats de requettes SQL Server vers Excel

Bonjour
Salut Tatiak 🙂

S'il faut créer la requête, ta solution est applicable à SQL server mais si les vues existent déjà dans la base (j'ai ainsi compris "J'ai sur SQL Server une liste de requettes à executer") on peut directement accéder aux données par l'une des 2 méthodes que j'ai évoquées.

Ainsi mimy aura le choix entre 3 solutions.
 
Re : Exporter résultats de requettes SQL Server vers Excel

Hello tout le monde,

Merci pour vos réponses mais à vrai dire c'est encore un peu flou pour moi...
Est ce que vous pouvez me donner un exemple afin que je puisse comprendre?

Merci encore!
 
Re : Exporter résultats de requettes SQL Server vers Excel

Bonjour

C'est ta question qui est floue : on ne sait pas concrètement d'où tu pars et où tu veux arriver.

Il faudrait décrire de façon détaillée sinon nos réponses ont plus de chances d'être à l'ouest que pile sur l'objectif...
 
Re : Exporter résultats de requettes SQL Server vers Excel

Merci...
Par exemple, dans ma base de données SQL j ai:

Requete 1:
SELECT *
FROM MaTable1
WHERE COULEUR<>'Rouge'

Requete 2:
SELECT *
FROM MaTable2
WHERE VOITURE='Fiat'

Et bien je voudrais essayer d avoir une marco qui execute ses requetes sur SQL Server et qui me copie/colle sur Excel tous les enregistements de ces 2 requetes.

Merci pour votre aide!
 
Re : Exporter résultats de requettes SQL Server vers Excel

Re

Donc dans ta base tes requêtes se nomment des vues. Tu dois avoir un connecteur ODBC vers ta base : en général on te prédéfinit une connexion vers la base

Tu utilises la 1ère méthode que j'ai donnée : données, autres sources, SQL server : tu sélectionnes la connexion, qui en principe te demande Username et password, puis t'affiche les tables et vues auxquelles tu est autorisée à accéder. Tu sélectionnes la vue (requête 1) et les données vont s'importer (avec liaison) dans ton classeur.

Tu refais pour la requête 2...
 
Re : Exporter résultats de requettes SQL Server vers Excel

Re tatiak,

J'ai essayé de lancer la macro mais ça n'a pas l'air de se connecter à ma base. La connexion CNX.ConnectionString ne se fait pas...
Dans la popup, le message d'erreur est "invalid authorization specification"
Help 🙁
 
Dernière édition:
Bonjour à tous,

J'ai sur SQL Server une liste de requettes à executer.
Je voudrais exporter automatiquement vers excel, via une macro VBA, les résultats de ces requettes SQL afin d'éviter de faire plusieurs copier/coller.
J'ai beau lire plusieurs tuto mais j'ai du mal à y arriver...

Merci pour votre aide!!!!!!🙂
Bonjour,

personnellement j'ai fait installer le complément Asyst Extract au boulot (http://asyst.fr/index.php/add-in-office/11-excel-extract-multi-user-base) Comme cela toutes mes requettes que je fais pour mes collègues sont accessibles directement depuis Excel. Je peux attribuer des droits et personnaliser les requettes pour chaque utilisateur. L'installation est super simple.
 
bonjour,
pour te donner une petite idée!
VB:
Sub test()
Dim Rs As Object
With CreateObject("AdoDb.Connection")
    .Open "Provider=SQLNCLI;Server=" & Server & ";Database=" & Base & ";UID=" & User & ";PWD=" & PassWord & ";"
    Set Rs = .Execute("Vue")
    For i = 0 To Rs.filds.Count - 1
        Sheets("Feuil1").Range("A1").Offset(0, i) = Rs(i).Name
    Next
     Sheets("Feuil1").Range("A2").CopyFromRecordset = Rs
    .Close
End With
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
345
  • Question Question
Microsoft 365 Erreur TCD
Réponses
5
Affichages
548
Retour