Partager via


Procédure pas à pas : collecter des données à l’aide d’un Windows Form

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

S’applique à : Les informations contenues dans cette rubrique s’appliquent aux projets de niveau document et aux projets de complément VSTO. Consultez les fonctionnalités disponibles par type d’application et de projet Office.

Bien que cette procédure pas à pas utilise spécifiquement un projet au niveau du document pour Excel, les concepts présentés par la procédure pas à pas s’appliquent à d’autres projets Office.

Prerequisites

Vous devez disposer des éléments suivants pour exécuter cette procédure pas à pas :

Note

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. 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 Personnaliser l’IDE Visual Studio.

Créer un projet

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

Pour créer un projet

  1. Créez un projet de classeur Excel avec le nom WinFormInput, puis sélectionnez Créer un document dans l’Assistant. Pour plus d’informations, consultez Guide pratique pour créer des projets Office dans Visual Studio.

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

Ajouter un contrôle NamedRange à la feuille de calcul

Pour ajouter une plage nommée à Sheet1

  1. Sélectionnez la cellule A1 sur 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 NamedRange contrôle est ajouté à la cellule A1. Il n’existe aucune indication visible dans 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.

Ajouter un Windows Form au projet

Créez un Windows Form pour inviter l’utilisateur à entrer des informations.

Pour ajouter un Windows Form

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

  2. Dans le menu Projet , cliquez sur Ajouter windows Form.

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

    Le nouveau formulaire s’ouvre dans le concepteur.

  4. Ajoutez un TextBox et un Button au formulaire.

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

    Ensuite, ajoutez du code à ThisWorkbook.vb ou ThisWorkbook.cs pour collecter les informations de l’utilisateur.

Afficher le formulaire Windows et collecter des informations

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

Pour afficher le formulaire 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 Open gestionnaire d’événements de ThisWorkbook, ajoutez le code suivant pour déclarer une variable pour le formulaire GetInputString , puis affichez le formulaire.

    Note

    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 Guide pratique pour créer des gestionnaires d’événements dans des projets Office.

    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.ShowDialog();
    }
    
  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 transmise au contrôle, NamedRangesur la formInput cellule A1.

    public void WriteStringToCell(string formData)
    {
        Globals.Sheet1.formInput.Value2 = formData;
    }
    

    Ensuite, ajoutez du code au formulaire pour gérer l’événement click du bouton.

Envoyer des 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 avec le gestionnaire d’événements du Click bouton ajouté.

  3. Ajoutez du code au gestionnaire d’événements pour prendre l’entrée à partir de la zone de texte, l’envoyer à la fonction WriteStringToCell, puis fermer le formulaire.

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

Test

Vous pouvez maintenant exécuter le projet. Windows Form s’affiche 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 montre les principes de base de l’affichage d’un Windows Form et du passage de données à une feuille de calcul. Les autres tâches que vous souhaiterez peut-être effectuer sont les suivantes :