Vous êtes actuellement hors ligne, en attente de reconnexion à Internet.

Comment faire pour importer des données à partir de Microsoft SQL Server dans Microsoft Excel

Ancien nº de publication de cet article : F306125
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d’articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d’avoir accès, dans votre propre langue, à l’ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s’exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s’efforce aussi continuellement de faire évoluer son système de traduction automatique.

La version anglaise de cet article est la suivante: 306125
Résumé
Ce guide décrit étape par étape comment importer des données dans Microsoft Excel à partir de la base de données Pubs, une base de données exemple est fournie avec Microsoft SQL Server.

Les objets ADO (ActiveX Data Objects) permettent d'accéder à n'importe quel type de source de données. Il s'agit d'un modèle d'objet plat avec peu d'objets. Les objets principales dans le modèle objet ADO sont les suivantes :
   Object          Description   -----------------------------------------------------------------------   Connection      Refers to the connection to the data source.   Recordset       Refers to the data extracted.   Command         Refers to a stored procedure or SQL statements that                    need to be executed.				
Bien qu'il existe de nombreuses façons pour renvoyer un jeu d'enregistrements à l'aide d'ADO, cet article se concentre sur la connexion et les objets Recordset.

Configuration requise

Vous devez disposer d'un serveur local exécutant Microsoft SQL Server et qui contient la base de données Pubs.

Microsoft vous recommande de qu'avoir connaissance des opérations suivantes :
  • Création de Visual Basic pour Applications procédures dans les programmes Office.
  • Utilisation des variables de l'objet.
  • Utilisation d'objets Excel.
  • Concepts de systèmes de gestion de base de données (SGBDR) relationnel.
  • Langage SQL des instructions SELECT (SQL).

Référence à la bibliothèque d'objets ADO

  1. Démarrez Excel. Ouvrez un nouveau classeur, puis enregistrez-le en tant que SQLExtract.xls.
  2. Démarrez l'éditeur Visual Basic et sélectionnez votre projet VBA.
  3. Sur la Outils menu, cliquez sur Références.
  4. Cliquez pour sélectionner la version la plus récente de la Bibliothèque Microsoft ActiveX Data Objects case à cocher.

Création de la connexion

  1. Insérez un nouveau module dans le projet.
  2. Créer une nouvelle procédure Sub appelée DataExtract.
  3. Tapez ou collez le code suivant :
    ' Create a connection object.Dim cnPubs As ADODB.ConnectionSet cnPubs = New ADODB.Connection' Provide the connection string.Dim strConn As String'Use the SQL Server OLE DB Provider.strConn = "PROVIDER=SQLOLEDB;"'Connect to the Pubs database on the local server.strConn = strConn & "DATA SOURCE=(local);INITIAL CATALOG=pubs;"'Use an integrated login.strConn = strConn & " INTEGRATED SECURITY=sspi;"'Now open the connection.cnPubs.Open strConn					

Extraction des données

Tapez ou collez le code suivant pour extraire vos enregistrements :
' Create a recordset object.Dim rsPubs As ADODB.RecordsetSet rsPubs = New ADODB.RecordsetWith rsPubs	' Assign the Connection object.	.ActiveConnection = cnPubs	' Extract the required records.	.Open "SELECT * FROM Authors"	' Copy the records into cell A1 on Sheet1.	Sheet1.Range("A1").CopyFromRecordset rsPubs		' Tidy up	.CloseEnd WithcnPubs.CloseSet rsPubs = NothingSet cnPubs = Nothing				

Vérifier que le code fonctionne

  1. Exécutez le code.
  2. Basculez vers Excel et observez la feuille Sheet1 du classeur pour afficher les données.

Résolution des problèmes

Si votre code semble se bloquer et vous recevez une erreur d'exécution, votre serveur de base de données est peut-être indisponible. Vous pouvez utiliser la propriété ConnectionTimeout pour contrôler le temps que nécessaire pour renvoyer une erreur d'exécution. Définir cette propriété une valeur supérieure à zéro. Si vous définissez la valeur à zéro, la connexion n'expire jamais. La valeur par défaut est 15 secondes.
Références
Vous trouverez des exemples de code supplémentaires en recherchant dans le site Web de Microsoft à l'adresse suivante :
ACC2002 xl2002 XL2003 XL2007

Avertissement : cet article a été traduit automatiquement

Propriétés

ID d'article : 306125 - Dernière mise à jour : 01/16/2013 02:04:00 - Révision : 3.0

Microsoft Office Excel 2007, Microsoft Excel 2002

  • kbhowtomaster kbmt KB306125 KbMtfr
Commentaires
d(m);