Procédure pas à pas : collecte de données à l'aide d'un Windows Form

Mise à jour : novembre 2007

Cette procédure pas à pas montre comment ouvrir un Windows Form à partir d'une personnalisation au niveau du document pour Microsoft Office Excel, recueillir des informations de l'utilisateur et les écrire dans une cellule de feuille de calcul.

Bien que cette procédure pas à pas utilise spécifiquement un projet au niveau du document pour Excel, les concepts démontrés par la procédure pas à pas sont applicables à d'autres projets Visual Studio Tools pour Office.

Composants requis

Vous avez besoin des composants suivants pour exécuter cette procédure pas à pas :

  • Visual Studio Tools pour Office (composant facultatif de Visual Studio 2008 Professional et Visual Studio Team System)

  • Microsoft Office Excel 2003 ou Microsoft Office Excel 2007.

Visual Studio Tools pour Office est installé par défaut avec les versions répertoriées de Visual Studio. Pour vérifier s'il est installé, consultez Installation de Visual Studio Tools pour Office.

Remarque :

Votre ordinateur risque d'afficher des noms ou des emplacements différents pour certains éléments de l'interface utilisateur Visual Studio dans les instructions suivantes. L'édition de Visual Studio dont vous disposez et les paramètres que vous utilisez déterminent ces éléments. Pour plus d'informations, consultez Paramètres Visual Studio.

Création d'un projet

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

Pour créer un projet

  • Créez un projet Classeur Excel sous le nom WinFormInputet sélectionnez Créer un nouveau document dans l'Assistant. Pour plus d'informations, consultez Comment : créer des projets Visual Studio Tools pour Office.

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

Ajout d'un contrôle NamedRange à la feuille de calcul

Pour ajouter une plage nommée à Sheet1

  1. Sélectionnez la cellule A1 dans Sheet1.

  2. Dans la zone Nom, tapez formInput.

    La zone Nom se trouve à gauche de la barre de formule, juste au-dessus de la colonne A de la feuille de calcul.

  3. Appuyez sur ENTRÉE.

    Un contrôle NamedRange est ajouté à la cellule A1. Il n'existe aucune indication visible sur la feuille de calcul, mais formInput apparaît dans la zone Nom (juste au-dessus de la feuille de calcul sur le côté gauche) et dans la fenêtre Propriétés lorsque la cellule A1 est sélectionnée.

Ajout d'un Windows Form au projet

Créez un Windows Form pour demander des informations à l'utilisateur.

Pour ajouter un Windows Form

  1. Sélectionnez le projet WinFormInput dans l'Explorateur de solutions.

  2. Dans le menu Projet, cliquez sur Ajouter un formulaire Windows.

  3. Appelez le formulaire GetInputString.vb ou GetInputString.cs, puis cliquez sur Ajouter.

    Le nouveau formulaire s'ouvre dans le concepteur.

  4. Ajoutez TextBox et Button au formulaire.

  5. Sélectionnez le bouton, recherchez la propriété Text dans la fenêtre Propriétés, puis remplacez le texte par OK.

Ajoutez ensuite du code à ThisWorkbook.vb ou ThisWorkbook.cs pour récupérer les informations de l'utilisateur.

Affichage du Windows Form et collecte d'informations

Créez une instance du Windows Form GetInputString et affichez-la, puis écrivez les informations relatives à l'utilisateur dans une cellule de la feuille de calcul.

Pour afficher le Windows Form et collecter des informations

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

  2. Dans le gestionnaire d'événements Open de ThisWorkbook, ajoutez le code suivant afin de déclarer une variable pour le formulaire GetInputString, puis affichez le formulaire.

    Remarque :

    En C#, vous devez ajouter un gestionnaire d'événements comme indiqué dans l'événement Startup ci-dessous. Pour plus d'informations sur la création de gestionnaires d'événements, consultez Comment : créer des gestionnaires d'événements dans Visual Studio Tools pour Office.

    Private Sub ThisWorkbook_Open() Handles Me.Open
        Dim inputForm As New GetInputString()
        inputForm.Show()
    End Sub
    
    private void ThisWorkbook_Startup(object sender, System.EventArgs e)
    {
        this.Open += new 
            Microsoft.Office.Interop.Excel.WorkbookEvents_OpenEventHandler(ThisWorkbook_Open);
    }
    
    private void ThisWorkbook_Open()
    {
        GetInputString inputForm = new GetInputString();
        inputForm.Show();
    }
    
  3. Créez une méthode appelée WriteStringToCell qui écrit du texte dans une plage nommée. Cette méthode est appelée à partir du formulaire et l'entrée de l'utilisateur est passée au contrôle NamedRange, formInput, dans la cellule A1.

    Public Sub WriteStringToCell(ByVal formData As String)
        Globals.Sheet1.formInput.Value2 = formData
    End Sub
    
    public void WriteStringToCell(string formData)
    {
        Globals.Sheet1.formInput.Value2 = formData;
    }
    

Ajoutez ensuite du code au formulaire pour gérer l'événement Click du bouton.

Envoi d'informations à la feuille de calcul

Pour envoyer des informations à la feuille de calcul

  1. Cliquez avec le bouton droit sur GetInputString dans l'Explorateur de solutions, puis cliquez sur Concepteur de vues.

  2. Double-cliquez sur le bouton pour ouvrir le fichier de code auquel le gestionnaire d'événements Click du bouton a été ajouté.

  3. Ajoutez le code au gestionnaire d'événements pour extraire l'entrée de la zone de texte, puis envoyez-le à la fonction WriteStringToCell et fermez le formulaire.

    Globals.ThisWorkbook.WriteStringToCell(Me.TextBox1.Text)
    Me.Dispose()
    
    Globals.ThisWorkbook.WriteStringToCell(this.textBox1.Text);
    this.Dispose();
    

Test

Vous pouvez maintenant exécuter le projet. Le Windows Form apparaît et votre entrée apparaît dans la feuille de calcul.

Pour tester votre classeur

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

  2. Vérifiez que le Windows Form s'affiche.

  3. Tapez Hello World dans la zone de texte, puis cliquez sur OK.

  4. Vérifiez que Hello World apparaît dans la cellule A1 de la feuille de calcul.

Étapes suivantes

Cette procédure pas à pas présente les notions de base de l'affichage d'un Windows Form et du passage de données à une feuille de calcul. Vous souhaitez peut-être exécuter d'autres tâches, notamment celle qui suit :

Voir aussi

Tâches

Comment : interagir avec des Windows Forms

Concepts

Développement de solutions Office

Modèle de programmation de solutions Office

Programmation de compléments d'application

Programmation de personnalisations au niveau du document

Procédures pas à pas utilisant Word

Procédures pas à pas utilisant Excel

Globalisation et localisation de solutions Office