|
|
|
| Excel et base de données SQL server par ppil |
vendredi 28 décembre 2007 à 14:13:00 |
Configuration: Windows Vista Internet Explorer 7.0
Peut être que pour un débutant ce serait préférable de créer un lien ODBC depuis access vers sql server et apprendre le VBA via access! ;-) |
Merci bnb,
Mais je ne souhaite pas passer/transiter par Access, pour divers raison ;-( |
Il ya un moyen mais je ne sais si c'est suffisant, sachant que ça ne fait que de la lecture simple:
- Créer un fichier Excel (2003). - Aller dans Outils > Macro > Visual Basic Editor. - Ajouter les références suivantes : Microsoft DAO 3.6 Object Library et Microsoft ActiveX Data Objects 2.8 Library. - Dans la fenêtre VB qui s'ouvre créer un nouveau module depuis l'onglet de gauche et y insérer ce code : Public cN As ADODB.Connection
Public rs As ADODB.Recordset
Public Sub conNect()
Set cN = New ADODB.Connection
dbPath = paTh
cN.ConnectionString = "Provider=SQLOLEDB;Data Source=Nom_Du_Serveur;Initial Catalog=Nom_de_La_Base; User ID=Votre_Login;Password=Votre_Password;"
cN.Open
End Sub
- Double-cliquer sur ThisWorkBook (dans l'explorateur d'objects) et insérer ce code: Private Sub Workbook_Open()
Module1.conNect
Set rs = New ADODB.Recordset
rs.Open ("select * from Ma_Table"), cN
i = 1
While Not rs.EOF
For j = 1 To rs.Fields.Count - 1
Feuil1.Cells(i, j) = rs(j - 1)
Next
i = i + 1
rs.MoveNext
Wend
End Sub
- Sauvegarder le tout. - Fermer et ouvrir le fichier XLS créé. Les données de la table se chargent dans la Feuille Feuill1 |
Merci Brolino,
Mais mon but est d'apprendre. Je souhaiterai comprendre pourquoi et comment on doit utiliser telle ou telle instruction. Je me débrouille en VBA de base, mais concernant les instructions pour SQL serveur je nage. Donc je suis à la recherche de document qui me permettrait d'apprendre. Brolino où as-tu appris pour arriver à écrire ce code? merci d'avance ppil
|
Merci Brolino,
C'est vrai, "petit à petit l'oiseau fait son nid". Je trouve dommage qu'il n'a pas d'ouvrage sur le sujet. On trouve beaucoup de livres ou de tutoriaux pour débutant, mais dès que l'on veut faire un pas suivant, il ne reste que la débrouillardise. Enfin, j'ai déjà un bout de ma réponse. Pour le reste ... j'irais voir sur www.developpez.com ppil |
Bonjour,
Pour ceux que ça intéressent, j'ai trouvé un livre qui répond à ma question. Voici le lien: http://www.pearson.ch/... Je viens de le recevoir, il ne me reste plus qu'à ... Salutations, ppil |
Bonjour à vous,
Après quelques recherche sur notre amis à tous... Google pour trouver un moyen d'extraire des infos d'une base de donées SQL sur un fichier Excel, j'ai trouvé ce post. Ne connaisant pas grand chose... pour ne pas dire rien au VBA j'ai donc essayé l'exemple de brolino mais sans succes :-( Je n'ai pas de message d'erreur , mais mes feuilles1,2 et 3 sont vides. Dois-je créer un lien ODBC ? Comment ? |
Après encor quelques heures de recherche j'ai finalement trouvé ce que je voulais.
Il suffit d'aller dans le menu d'Excel, Données ,Données Externes. Il y a plusieur technique , la premiere asssez basique qui ne permet pas faire vraiment de tri. ( Importer des donées) Et l'autre que j'ai choisis qui est créer une requête. Avant de choisir cette technique, il faut créer un lien ODBC. Je vous rassure j'y suis arrivé et je n'y avas jamais touché. Je vais donc décrir la technique que j'ai choisis : 1- Créer un lien ODBC : Aller dans démarer->Paneau de configuration ->Outils d'admoinistration ->Sources de données (ODBC).Pour mon cas ma bdd etait sur un serveur distant et ma base de bdd est en sql donc cliquer sur l'onglet: Sources de données System puis Ajouter. Une liste s'affiche aller tout en bas pour choisir SQL Server, cliquer sur terminer. suivez l'assistant et tout devrait bien se passer. 2-Sous Excel aller dans le menu, Données ,Données Externes,créer une requête. (Important le composant MSQUERY doit etre installé,il ne l'est pas forcement par defaut, il va falloir retrouver le cd qui doit trainer sous la pouciere ^^) -Choisir votre lien ODBC. -Choisir votre table et vos champ. Après je vous laisse découvrir les jois d'SQL. dans mon cas ma bdd était assez grosse et pour eviter d'importer des information en doublons dans la requete SQL je vous conseil d'utiliser la fonction DISTINCT exemple : SELECT DISTINCT (MATABLE.MATABLE_MONCHANP1) Bonne chance a tous. |
| 30/04 21h16 | Comment exporter une base donnée Sql Server 7 | Programmation | 30/04 21h16 | 0 |
| 16/10 16h45 | Connexion aux base de données SQL server | Programmation | 08/05 17h17 | 21 |
| 14/04 17h31 | [asp.net et base de donnees sql server] | Programmation | 08/04 21h50 | 13 |
| 10/10 17h24 | migration d'une base de données sql server | Programmation | 18/02 23h19 | 7 |