Partager via


Procédure pas à pas : liaison de données aux contrôles dans un volet Actions Excel

Cette procédure pas à pas montre la liaison de données aux contrôles dans un volet Actions de Microsoft Office Excel.Les contrôles illustrent une relation maître/détail entre des tables dans une base de données SQL Server.

S'applique à : Les informations contenues dans cette rubrique s'appliquent aux projets de niveau document pour Excel 2013 et Excel 2010. Pour en savoir plus, consultez Fonctionnalités disponibles par type d'application et de projet Office.

Cette procédure pas à pas décrit les tâches suivantes :

  • Ajout de contrôles à une feuille de calcul

  • Création d'un contrôle de volet Actions

  • Ajout de contrôles Windows Forms liés aux données à un contrôle de volet Actions

  • Affichage du volet Actions lorsque l'application s'ouvre

[!REMARQUE]

Il est possible que pour certains des éléments de l'interface utilisateur de Visual Studio, votre ordinateur affiche des noms ou des emplacements différents de ceux indiqués dans les instructions suivantes.Ces éléments dépendent de l'édition de Visual Studio dont vous disposez et des paramètres que vous utilisez.Pour plus d'informations, consultez Paramètres Visual Studio.

Composants requis

Pour exécuter cette procédure pas à pas, vous devez disposer des composants suivants :

-

Une édition de Visual Studio 2012 qui inclut les outils de développement Microsoft Office. Pour plus d'informations, consultez [Configuration d'un ordinateur pour développer des solutions Office](bb398242\(v=vs.110\).md).
  • Excel 2013 ou Excel 2010.

  • Accès à un serveur sur lequel est installé l'exemple de base de données SQL Server Northwind.

  • Autorisations d'accès en lecture et écriture à la base de données SQL Server

Création du projet

La première étape consiste à créer un projet de classeur Excel.

Pour créer un projet

  • Créez un projet de classeur Excel et attribuez-lui le nom Mon volet Actions Excel.Dans l'Assistant, sélectionnez Créer un nouveau document.Pour plus d'informations, consultez Comment : créer des projets Office dans Visual Studio.

    Visual Studio ouvre le nouveau classeur Excel dans le concepteur et ajoute le projet Mon volet Actions Excel à l'Explorateur de solutions.

Ajout d'une nouvelle source de données au projet

Pour ajouter une nouvelle source de données au projet

  1. Si la fenêtre Sources de données n'est pas visible, affichez- la par, dans la barre de menus, choisissant Afficher, Autres fenêtres, Sources de données.

  2. Choisissez Ajouter une nouvelle source de données pour démarrer Assistant Configuration de source de données.

  3. Sélectionnez Base de données, puis cliquez sur Suivant.

  4. Sélectionnez une connexion de données pour l'exemple de base de données Northwind dans SQL Server ou ajoutez une nouvelle connexion à l'aide du bouton Nouvelle connexion.

  5. Cliquez sur Suivant.

  6. Désélectionnez l'option pour enregistrer la connexion si elle est sélectionnée, puis cliquez sur Suivant.

  7. Développez le nœud Tables dans la fenêtre Objets de base de données.

  8. Activez la case à cocher située à côté de la table Suppliers.

  9. Développez la table Products et sélectionnez ProductName, SupplierID, QuantityPerUnit et UnitPrice.

  10. Cliquez sur Terminer.

L'Assistant ajoute les tables Suppliers et Products à la fenêtre Sources de données.Un groupe de données typé est également ajouté à votre projet, visible dans l'Explorateur de solutions.

Ajout de contrôles à la feuille de calcul

Ensuite, ajoutez un contrôle NamedRange et un contrôle ListObject à la première feuille de calcul.

Pour ajouter un contrôle NamedRange et un contrôle ListObject

  1. Vérifiez que le classeur Mes actions Pane.xlsx excel est ouvert dans le concepteur Visual Studio, avec Sheet1 a affiché.

  2. Dans la fenêtre Sources de données, développez la table Suppliers.

  3. Cliquez sur la flèche de déroulement du nœud Company Name, puis cliquez sur NamedRange.

  4. Faites glisser Company Name de la fenêtre Sources de données vers la cellule A2 dans Sheet1.

    Un contrôle NamedRange nommé CompanyNameNamedRange est créé, et le texte <CompanyName> apparaît dans la cellule A2.En même temps, un BindingSource nommé suppliersBindingSource, un adaptateur de table et une instance de DataSet sont ajoutés au projet.Le contrôle est lié à BindingSource, qui est lié à son tour à l'instance de DataSet.

  5. Dans la fenêtre Sources de données, faites défiler les colonnes qui sont sous la table Suppliers.À la fin de la liste se trouve la table Products ; elle est située à cet endroit car il s'agit d'un enfant de la table Suppliers.Sélectionnez cette table Products, et non celle située au même niveau que la table Suppliers, puis cliquez sur la flèche de déroulement qui apparaît.

  6. Cliquez sur ListObject dans la liste déroulante, puis faites glisser la table Products vers la cellule A6 dans Sheet1.

    Un contrôle ListObject nommé ProductNameListObject est créé dans la cellule A6.En même temps, un BindingSource nommé productsBindingSource et un adaptateur de table sont ajoutés au projet.Le contrôle est lié à BindingSource, qui est lié à son tour à l'instance de DataSet.

  7. Pour C# uniquement, sélectionnez suppliersBindingSource dans la barre d'état des composants et remplacez la valeur de la propriété Modifiers par Internal dans la fenêtre Propriétés.

Ajout de contrôles au volet Actions

Ensuite, vous avez besoin d'un contrôle de volet Actions qui contient une zone de liste déroulante.

Pour ajouter un contrôle de volet Actions

  1. Sélectionnez le projet Mon volet Actions Excel dans l'Explorateur de solutions.

  2. Dans le menu Projet, cliquez sur Ajouter un nouvel élément.

  3. Dans la boîte de dialogue Ajouter un nouvel élément, sélectionnez Contrôle de volet Actions, attribuez-lui le nom ActionsControl, puis cliquez sur Ajouter.

Pour ajouter des contrôles Windows Forms liés aux données à un contrôle de volet Actions

  1. À partir de l'onglet Contrôles communs de la Boîte à outils, faites glisser un contrôle ComboBox vers le contrôle de volet Actions.

  2. Remplacez la valeur de la propriété Size par 171, 21.

  3. Redimensionnez le contrôle utilisateur en fonction de la zone de liste déroulante.

Liaison du contrôle sur le volet Actions à des données

Dans cette section, vous ferez correspondre la source de données de ComboBox et la source de données du contrôle NamedRange sur la feuille de calcul.

Pour définir les propriétés de liaison de données du contrôle

  1. Cliquez avec le bouton droit sur le contrôle de volet Actions, puis cliquez sur Afficher le code.

  2. Ajoutez le code suivant à l'événement Load du contrôle de volet Actions.

    Private Sub ActionsControl_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
        Handles Me.Load
    
        Me.ComboBox1.DataSource = Globals.Sheet1.SuppliersBindingSource
        Me.ComboBox1.DisplayMember = "CompanyName"
    End Sub
    
    private void ActionsControl_Load(object sender, EventArgs e)
    {
        this.comboBox1.DataSource = Globals.Sheet1.suppliersBindingSource;
        this.comboBox1.DisplayMember = "CompanyName";
    }
    
  3. En C#, vous devez créer un gestionnaire d'événements pour ActionsControl.Vous pouvez placer ce code dans le constructeur ActionsControl.Pour plus d'informations sur la création de gestionnaires d'événements, consultez Comment : créer des gestionnaires d'événements dans les projets Office.

    public ActionsControl()
    {
        InitializeComponent();
        this.Load += new EventHandler(ActionsControl_Load);
    }
    

Affichage du volet Actions

Le volet Actions n'est visible que lorsque vous ajoutez le contrôle au moment de l'exécution.

Pour afficher le volet Actions

  1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur ThisWorkbook.vb ou ThisWorkbook.cs, puis cliquez sur Afficher le code.

  2. Créez une instance du contrôle utilisateur dans la classe ThisWorkbook.

    Dim actions As New ActionsControl
    
    ActionsControl actions = new ActionsControl();
    
  3. Dans le gestionnaire d'événements Startup de ThisWorkbook, ajoutez le contrôle au volet Actions.

    Private Sub ThisWorkbook_Startup(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Startup
    
        Me.ActionsPane.Controls.Add(actions)
    End Sub
    
    private void ThisWorkbook_Startup(object sender, System.EventArgs e)
    {
        this.ActionsPane.Controls.Add(actions);
    }
    

Test de l'application

Vous pouvez à présent tester votre document pour vérifier que le volet Actions s'ouvre en même temps que le document et que les contrôles disposent d'une relation maître/détail.

Pour tester votre document

  1. Appuyez sur F5 pour exécuter votre projet.

  2. Vérifiez que le volet Actions est visible.

  3. Sélectionnez une société dans la zone de liste.Vérifiez que le nom de la société est répertorié dans le contrôle NamedRange et que les détails sur le produit sont affichés dans le contrôle ListObject.

  4. Sélectionnez plusieurs sociétés pour vérifier que le nom de la société et les détails sur le produit changent en conséquence.

Étapes suivantes

Vous devrez peut-être ensuite exécuter les opérations suivantes :

Voir aussi

Tâches

Comment : gérer la disposition des contrôles dans les volets Actions

Autres ressources

Vue d'ensemble du volet Actions

Liaison de données aux contrôles dans les solutions Office