Importation de données depuis SQLServer sur Excel

  • Initiateur de la discussion Initiateur de la discussion richert90
  • 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 !

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
 
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.
 
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
 
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 ?
 
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!!!
 
- 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

Retour