Procédure pas à pas : collecte de 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, recueillir des informations de l'utilisateur et les écrire dans une cellule de feuille de calcul.
S'applique à : Les informations contenues dans cette rubrique s'appliquent aux projets de niveau document et de niveau application pour Microsoft Office 2010 et la version 2007 de Microsoft® Office System. Pour plus d'informations, consultez 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 démontrés par la procédure pas à pas sont applicables à d'autres projets Office.
Composants requis
Pour exécuter cette procédure pas à pas, vous devez disposer des composants suivants :
-
Une édition de Visual Studio 2010 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.100\).md).
- Microsoft Office Excel 2007 ou Excel 2010.
Notes
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 Utilisation des paramètres.
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 WinFormInput et sélectionnez Créer un nouveau document dans l'Assistant. 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 WinFormInput à l'Explorateur de solutions.
Ajout d'un contrôle NamedRange à la feuille de calcul
Pour ajouter une plage nommée à Sheet1
Sélectionnez la cellule A1 dans Sheet1.
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.
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
Sélectionnez le projet WinFormInput dans l'Explorateur de solutions.
Dans le menu Projet, cliquez sur Ajouter un formulaire Windows.
Appelez le formulaire GetInputString.vb ou GetInputString.cs, puis cliquez sur Ajouter.
Le nouveau formulaire s'ouvre dans le concepteur.
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
Cliquez avec le bouton droit sur ThisWorkbook.vb ou ThisWorkbook.cs dans l'Explorateur de solutions, puis cliquez sur Afficher le code.
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.
Notes
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 les projets 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(); }
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
Cliquez avec le bouton droit sur GetInputString dans l'Explorateur de solutions, puis cliquez sur Concepteur de vues.
Double-cliquez sur le bouton pour ouvrir le fichier de code auquel le gestionnaire d'événements Click du bouton a été ajouté.
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
Appuyez sur F5 pour exécuter votre projet.
Vérifiez que le Windows Form s'affiche.
Tapez Hello World dans la zone de texte, puis cliquez sur OK.
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 :
Utilisez des contrôles Windows Forms sur un classeur Excel ou un document Word. Pour plus d'informations, consultez Vue d'ensemble des contrôles Windows Forms dans les documents Office.
Modifiez l'interface utilisateur d'une application Microsoft Office à partir d'une personnalisation au niveau du document ou d'un complément au niveau de l'application. Pour plus d'informations, consultez Personnalisation de l'interface utilisateur Office.
Voir aussi
Tâches
Comment : interagir avec des Windows Forms
Concepts
Écriture de code dans les solutions Office
Procédures pas à pas utilisant Word
Procédures pas à pas utilisant Excel
Globalisation et localisation de solutions Office
Autres ressources
Développement de solutions Office