Importation de données depuis SQLServer sur Excel

richert90

XLDnaute Occasionnel
Bonjour,
j'ai besoin de votre aide; sur VBA, savez-vous comment fait-t-on pour importer une base de données sur Excel de manière automatique. C'est à dire que quand l'utilisateur va cliquez sur un bouton (par exemple), il pourra choisir le serveur ( id, mot de passe) et la base de données sur SQLServer qu'il souhaite importer sur Excel?
J'ai trouver que ça comme piste sur internet:

'Déclaration de la variable de connexion
Dim cnx As ADODB.Connection

'Définition de la chaîne de connexion
cnx.ConnectionString = "UID=" & NomUtilisateur & ";PWD=" & MotDePasse & ";" & "DRIVER={SQL Server};Server=" & NomServeur & ";Database=" & NomBaseDeDonnées & ";"

'Ouverture de la base de données
cnx.Open


Mais la déclaration ne marche pas ("Erreur de compilation: Type défini par l'utilisateur non défini")

Merci d'avance
 

richert90

XLDnaute Occasionnel
Re : Importation de données depuis SQLServer sur Excel

Bonjour,
Merci pour ton aide Thierry, mais dans ton 2ieme code, tu spécifie le chemin et la base que tu va prendre. Moi , l'utilisateur doit tomber sur la fenêtre lui permettant de choisir la base qu'il veut sur le serveur qu'il veut d'où mon problème.
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : Importation de données depuis SQLServer sur Excel

Bonjour le Fil, le Forum

Et bien dans ce cas là tu dois faire un petit UserForm qui permettra l'interface entre l'Utilisateur et les variables à passer pour le Nom de l'Instance du Serveur SQL et la Database... Puis son Log-In et Password (si SQL database Log-In) sinon pas nécessaire si il a un compte Windows Log-In sur le server avec au moins une permission de "Select"...

Le UserForm ne peut être constitué que de TextBox (Free Field) mais l'utilisateur doit bien connaître les noms de Serveurs et des Bases... Sinon tu peux faire des ListBox préprogrammées pour montrer des Choix Possibles...

Il doit surement exister une API pour "chopper" dans VBA la fenêtre Windows qui cherches les Serveur SQL sur les Réseaux, mais au regard des Versions de Windows (XP, Seven, 2008, 8, 2012 et aussi 32/64 Bits) tu risques bien des soucis... Et comme je pense que les serveurs et les bases ne changent pas tout les matins, tu peux écrire en dûr sur une feuille cachée les noms pour qu'ils soient remontés dans tes ListBox, ce sera bien plus simple et stable en multi-environnements...

Enfin ce n'est qu'une idée
@+Thierry
 

richert90

XLDnaute Occasionnel
Re : Importation de données depuis SQLServer sur Excel

Bonjour,

Si je suis ton idée, dans le formulaire il y a un premier champ pour que l'utilisateur rentre le nom du serveur et 2 autres champs pour ses identifiants (login + mot de passe) et enfin un champ pour qu'il saisisse le nom de la base de données.
A la suite de cela, je met un bouton dont la macro affectée contiendra le code que tu mas envoyé hier ?
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re : Importation de données depuis SQLServer sur Excel

Bonsoir Richert90, le Fil

Oui c'est à peu près ceci...

Voici un exemple en PJ avec ListBox plutot que TextBox...

Bonne Soirée
@+Thierry
 

Pièces jointes

  • Ritchert90_Exemple_UserForm_Open_SQL_Server_ADO.xls
    36 KB · Affichages: 45

richert90

XLDnaute Occasionnel
Re : Importation de données depuis SQLServer sur Excel

Ok merci beaucoup pour ton aide, je vais essayer tout ça prochainement, je n'aurais pas la connexion au serveur jusqu'en fin de semaine; J'essayerai donc ce weekend. Je reviendrais vous dire où ça en ai , en espérant que ce soit bon!!!
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87