Vue d'ensemble du volet ActionsActions Pane Overview

Un volet actions est un Actions de Document volet qui est attaché à un document spécifique de Microsoft Office Word ou un classeur Microsoft Office Excel.An actions pane is a customizable Document Actions task pane that is attached to a specific Microsoft Office Word document or Microsoft Office Excel workbook. Il est hébergé dans le volet de tâches, ainsi que d’autres volets de tâches intégrés, tels que les Source XML volet dans Excel ou le Styles et mise en forme volet de tâches dans Word.It is hosted inside the Office task pane along with other built-in task panes such as the XML Source task pane in Excel or the Styles and Formatting task pane in Word. Vous pouvez utiliser des contrôles Windows Forms ou WPF pour concevoir l'interface utilisateur du volet Actions.You can use Windows Forms controls or WPF controls to design the actions pane user interface.

S’applique à : Les informations contenues dans cette rubrique s’appliquent aux projets de niveau document pour Excel et Word.Applies to: The information in this topic applies to document-level projects for Excel and Word. Pour plus d’informations, consultez Fonctionnalités disponibles par type d’application et de projet Office.For more information, see Features Available by Office Application and Project Type.

Vous pouvez créer un volet Actions uniquement dans une personnalisation au niveau du document pour Word ou Excel.You can create an actions pane only in a document-level customization for Word or Excel. Vous ne pouvez pas créer un volet Actions dans un complément VSTO.You cannot create an actions pane in a VSTO Add-in. Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet Office.For more information, see Features Available by Office Application and Project Type.

Note

Le volet Actions diffère des volets de tâches personnalisés.The actions pane differs from custom task panes. Les volets de tâches personnalisés sont associés à l'application, pas à un document spécifique.Custom task panes are associated with the application, not a specific document. Vous pouvez créer des volets de tâches personnalisés dans les compléments VSTO pour certaines applications Microsoft Office.You can create custom task panes in VSTO Add-ins for some Microsoft Office applications. Pour plus d’informations, consultez Vue d’ensemble des volets de tâches personnalisés.For more information, see Custom Task Panes.

lien vers la vidéo pour une démonstration vidéo connexe, consultez comment faire faire : utiliser WPF contrôles à l’intérieur d’un volet Actions Excel ?.link to video For a related video demonstration, see How Do I: Use WPF Controls Inside an Excel Actions Pane?.

Affichage du volet ActionsDisplaying the Actions Pane

Le volet Actions est représenté par la classe ActionsPane.The actions pane is represented by the ActionsPane class. Lorsque vous créez un projet au niveau du document, une instance de cette classe est disponible pour votre code à l'aide du champ ActionsPane de la classe ThisWorkbook (pour Excel) ou ThisDocument (pour Word) de votre projet.When you create a document-level project, an instance of this class is available to your code by using the ActionsPane field of the ThisWorkbook (for Excel) or ThisDocument (for Word) class in your project. Pour afficher le volet Actions, ajoutez un contrôle Windows Forms à la propriété Controls du champ ActionsPane.To display the actions pane, add a Windows Forms control to the Controls property of the ActionsPane field. L'exemple de code suivant ajoute un contrôle nommé actions au volet Actions.The following code example adds a control named actions to the actions pane.

this.ActionsPane.Controls.Add(actions);
Me.ActionsPane.Controls.Add(actions)

Le volet Actions devient visible au moment de l'exécution, dès que vous lui ajoutez explicitement un contrôle.The actions pane becomes visible at run time as soon as you explicitly add a control to it. Une fois que le volet Actions est affiché, vous pouvez dynamiquement ajouter ou supprimer des contrôles en réponse aux actions de l'utilisateur.After the actions pane is displayed, you can dynamically add or remove controls in response to the user's actions. En général, vous ajoutez le code pour afficher le volet Actions du gestionnaire d'événements Startup de ThisDocument ou ThisWorkbook afin que le volet Actions soit visible lorsque l'utilisateur ouvre le document pour la première fois.Typically, you add the code to display the actions pane in the Startup event handler of ThisDocument or ThisWorkbook so that the actions pane is visible when the user first opens the document. Toutefois, vous souhaiterez peut-être afficher le volet Actions uniquement en réponse à l'action d'un utilisateur dans le document.However, you might want to display the actions pane only in response to a user's action in the document. Par exemple, vous pouvez ajouter le code à l'événement Click d'un contrôle sur le document.For example, you might add the code to the Click event of a control on the document.

Ajout de plusieurs contrôles au volet ActionsAdding Multiple Controls to the Actions Pane

Si vous ajoutez plusieurs contrôles au volet Actions, dans la plupart des cas vous devez regrouper les contrôles dans un contrôle utilisateur, puis ajouter le contrôle utilisateur à la propriété Controls.If you are adding multiple controls to the actions pane, in most cases you should group the controls in a user control, and then add the user control to the Controls property. Ce processus comprend les étapes suivantes :This process includes the following steps:

  1. Créer l’interface utilisateur (IU) du volet actions en ajoutant un contrôle de volet Actions ou contrôle utilisateur élément à votre projet.Create the user interface (UI) of the actions pane by adding an Actions Pane Control or User Control item to your project. Ces deux éléments incluent une classe UserControl Windows Forms personnalisée.Both of these items include a custom Windows Forms UserControl class. Le contrôle de volet Actions et contrôle utilisateur éléments sont équivalents ; la seule différence est leur nom.The Actions Pane Control and User Control items are equivalent; the only difference is their name.

  2. Ajouter des contrôles Windows Forms au UserControl à l'aide du concepteur ou en écrivant du code.Add Windows Forms controls to the UserControl by using the designer, or by writing code.

    Note

    Vous pouvez aussi ajouter des contrôles WPF au volet Actions en ajoutant un UserControl WPF au UserControl Windows Forms.You can also add WPF controls to the actions pane by adding a WPF UserControl to the Windows Forms UserControl. Pour plus d’informations, consultez à l’aide de contrôles WPF dans les Solutions Office.For more information, see Using WPF Controls in Office Solutions.

  3. Ajouter une instance du contrôle utilisateur personnalisé aux contrôles contenus dans le champ ActionsPane de la classe ThisWorkbook (pour Excel) ou ThisDocument (pour Word) de votre projet.Add an instance of the custom user control to the controls that are contained in the ActionsPane field of the ThisWorkbook (for Excel) or ThisDocument (for Word) class in your project.

    Pour obtenir des exemples qui illustrent ce processus plus en détail, consultez Comment : ajouter un volet Actions à des Documents Word ou des classeurs Excel.For examples that demonstrate this process in more detail, see How to: Add an Actions Pane to Word Documents or Excel Workbooks.

Masquage du volet ActionsHiding the Actions Pane

Bien que la classe ActionsPane ait une méthode Hide et une propriété Visible, vous ne pouvez pas supprimer le volet Actions à partir de l'interface utilisateur à l'aide des membres de la classe ActionsPane elle-même.Although the ActionsPane class has a Hide method and a Visible property, you cannot remove the actions pane from the user interface by using any members of the ActionsPane class itself. Appel de la Hide méthode ou un paramètre le Visible propriété false masque uniquement les contrôles du volet actions ; il ne masque pas le volet de tâches.Calling the Hide method or setting the Visible property to false hides only the controls on the actions pane; it does not hide the task pane.

Pour masquer le volet de tâches dans votre solution, vous disposez de plusieurs options :To hide the task pane in your solution, you have several options:

Effacement du volet Actions lorsque le document est ouvertClearing the Actions Pane When the Document is Opened

Si l'utilisateur enregistre le document alors que le volet Actions est visible, celui-ci apparaît chaque fois que le document est ouvert, que le volet Actions contienne des contrôles ou non.If the user saves the document while the actions pane is visible, the actions pane is visible every time the document is opened, whether or not the actions pane contains any controls. Si vous souhaitez contrôler à quel moment il apparaît, appelez la méthode Clear du champ ActionsPane du gestionnaire d'événements Startup ThisDocument ou ThisWorkbook pour vous assurer que le volet Actions n'est pas visible lorsque le document est ouvert.If you want to control when it appears, call the Clear method of the ActionsPane field in the Startup event handler of ThisDocument or ThisWorkbook to ensure that the actions pane is not visible when the document is opened.

Détermination du moment où le volet Actions est ferméDetermining When the Actions Pane is Closed

Il n'y a aucun événement déclenché lorsque le volet Actions est fermé.There is no event that is raised when the actions pane is closed. Bien que la ActionsPane classe ait un événement VisibleChanged, celui-ci n'est pas déclenché lorsque l'utilisateur final ferme le volet Actions.Although the ActionsPane class has a VisibleChanged event, this event is not raised when the end user closes the actions pane. Au lieu de cela, cet événement est déclenché lorsque les contrôles du volet actions sont masqués par l’appel le Hide méthode ou en définissant le Visible propriété false.Instead, this event is raised when the controls on the actions pane are hidden by calling the Hide method or by setting the Visible property to false.

Si l'utilisateur final ferme le volet Actions, il peut l'afficher à nouveau en exécutant l'une des procédures suivantes dans l'interface utilisateur de l'application.If the end user closes the actions pane, the user can display it again by performing one of the following procedures in the user interface (UI) of the application.

Pour afficher le volet Actions à l'aide de l'interface utilisateur de Word ou ExcelTo display the actions pane by using the UI of Word or Excel
  1. Dans le ruban, cliquez sur le vue onglet.On the Ribbon, click the View tab.

  2. Dans le afficher/masquer , cliquez sur le Actions de Document bouton bascule.In the Show/Hide group, click the Document Actions toggle button.

Programmation des événements du volet ActionsProgramming Actions Pane Events

Vous pouvez ajouter plusieurs contrôles utilisateur au volet Actions, puis écrire le code pour répondre aux événements sur le document en affichant et en masquant les contrôles utilisateur.You can add multiple user controls to the actions pane and then write code to respond to events on the document by showing and hiding the user controls. Si vous mappez des éléments du schéma XML à votre document, vous pouvez afficher certains contrôles utilisateur dans le volet Actions chaque fois que le point d'insertion se trouve dans l'un des éléments XML.If you map XML schema elements to your document, you can show certain user controls in the actions pane whenever the insertion point is inside one of the XML elements. Pour plus d’informations, consultez Comment : schémas de mappage à des Documents Word dans Visual Studio et Comment : schémas de mappage à des feuilles de calcul à l’intérieur de Visual Studio.For more information, see How to: Map Schemas to Word Documents Inside Visual Studio and How to: Map Schemas to Worksheets Inside Visual Studio.

Vous pouvez également écrire le code pour répondre aux événements de n'importe quel objet, y compris les événements de contrôle hôte, d'application ou de document.You can also write code to respond to the events of any object, including host control, application, or document events. Pour plus d’informations, consultez procédure pas à pas : programmation d’événements d’un contrôle NamedRange.For more information see Walkthrough: Programming Against Events of a NamedRange Control.

Liaison de données aux contrôles dans le volet ActionsBinding Data to Controls on the Actions Pane

Les contrôles du volet Actions ont les mêmes fonctionnalités de liaison de données que les contrôles Windows Forms.The controls on the actions pane have the same data binding capabilities as controls on Windows Forms. Vous pouvez lier les contrôles aux sources de données telles que les jeux de données, les groupes de données typées et XML.You can bind the controls to data sources such as data sets, typed data sets, and XML. Pour plus d'informations, consultez Data Binding and Windows Forms.For more information, see Data Binding and Windows Forms.

Vous pouvez lier des contrôles du volet Actions et des contrôles du document au même jeu de données.You can bind controls on the actions pane and controls on the document to the same dataset. Par exemple, vous pouvez créer une relation maître/détail entre les contrôles du volet Actions et les contrôles de la feuille de calcul.For example, you can create a master/detail relation between the controls on the actions pane and the controls on the worksheet. Pour plus d’informations, consultez procédure pas à pas : liaison de données aux contrôles dans un volet Actions Excel.For more information, see Walkthrough: Binding Data to Controls on an Excel Actions Pane.

Validation des données dans les contrôles du volet ActionsValidating Data in Actions Pane Controls

Si vous affichez un message dans le gestionnaire d'événements Validating d'un contrôle du volet Actions, l'événement peut être déclenché une deuxième fois lorsque le focus se déplace du contrôle au message.If you display a message box in the Validating event handler of a control on the actions pane, the event might be raised a second time when focus moves from the control to the message box. Pour éviter ce problème, utilisez un contrôle ErrorProvider pour afficher les messages d'erreur de validation.To prevent this issue, use an ErrorProvider control to display any validation error messages.

Ordre d'empilement des contrôles utilisateurUser Control Stacking Order

Si vous utilisez plusieurs contrôles utilisateur, vous pouvez écrire le code pour empiler correctement les contrôles utilisateur du volet Actions, qu'il soit ancré verticalement ou horizontalement.If you are using multiple user controls, you can write code to properly stack the user controls on the actions pane whether it is docked vertically or horizontally. Vous pouvez définir l'ordre d'empilement des contrôles utilisateur du volet Actions à l'aide de l'énumération StackStyle de la propriété StackOrder.You can set the stacking order of the user controls on the actions pane by using the StackStyle enumeration of the StackOrder property. Pour plus d’informations, consultez Comment : gérer la disposition des contrôles dans les volets ActionsFor more information, see How to: Manage Control Layout on Actions Panes

La propriété StackOrder peut accepter les valeurs d'énumération StackStyle suivantes.The StackOrder property can take the following StackStyle enumeration values.

Style d'empilementStacking style DéfinitionDefinition
FromBottomFromBottom Empilez à partir du bas du volet Actions.Stack from the bottom of the actions pane.
FromLeftFromLeft Empilez à partir de la gauche du volet Actions.Stack from the left of the actions pane.
FromRightFromRight Empilez à partir de la droite du volet Actions.Stack from the right of the actions pane.
FromTopFromTop Empilez à partir du haut du volet Actions.Stack from the top of the actions pane.
AucunNone Aucun ordre d'empilement défini ; l'ordre est contrôlé par le développeur.No stacking order defined; order is controlled by the developer.

Le code suivant définit la propriété StackOrder de façon à empiler les contrôles utilisateur à partir du haut du volet Actions.The following code sets the StackOrder property to stack the user controls from the top of the actions pane.

this.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop;
Me.ActionsPane.StackOrder = Microsoft.Office.Tools.StackStyle.FromTop

Ancrage des contrôlesAnchoring Controls

Si l'utilisateur redimensionne le volet Actions au moment de l'exécution, les contrôles peuvent être redimensionnés avec le volet Actions.If the user resizes the actions pane at run time, the controls can resize with the actions pane. Vous pouvez utiliser la propriété Anchor d'un contrôle Windows Forms pour ancrer des contrôles au volet Actions.You can use the Anchor property of a Windows Forms control to anchor controls to the actions pane. Vous pouvez également ancrer les contrôles Windows Forms au contrôle utilisateur de la même manière.You can also anchor the Windows Forms controls onto the user control in the same manner. Pour plus d’informations, consultez Comment : ancrer des contrôles dans les Windows Forms.For more information, see How to: Anchor Controls on Windows Forms.

Redimensionnement du volet ActionsResizing the Actions Pane

Vous ne pouvez pas modifier directement la taille d'un ActionsPane, car le ActionsPane est incorporé au volet des tâches.You cannot directly change the size of an ActionsPane because the ActionsPane is embedded in the task pane. Toutefois, vous pouvez modifier par programmation la largeur du volet des tâches en définissant la propriété Microsoft.Office.Core.CommandBar.Width* du Microsoft.Office.Core.CommandBar qui représente le volet des tâches.However, you can programmatically change the width of the task pane by setting the Microsoft.Office.Core.CommandBar.Width* property of the Microsoft.Office.Core.CommandBar that represents the task pane. Vous pouvez modifier la hauteur du volet des tâches s'il est ancré horizontalement ou est flottant.You can change the height of the task pane if it is docked horizontally or is floating.

Le redimensionnement par programmation du volet des tâches n'est généralement pas recommandé, car l'utilisateur doit pouvoir choisir la taille du volet des tâches qui correspond le mieux à ses besoins.Programmatically resizing the task pane is generally not recommended because the user should be able to select the task pane size that best suits his or her needs. Toutefois, si vous devez redimensionner la largeur du volet Office, vous pouvez utiliser le code suivant pour effectuer cette tâche.However, if you must resize the width of the task pane, you could use the following code to achieve this task.

this.CommandBars["Task Pane"].Width = 200;
Me.CommandBars("Task Pane").Width = 200

Repositionnement du volet ActionsRepositioning the Actions Pane

Vous ne pouvez pas repositionner directement le ActionsPane, car il est incorporé au volet des tâches.You cannot directly reposition the ActionsPane because it is embedded in the task pane. Toutefois, vous pouvez déplacer par programmation le volet des tâches en définissant la propriété Microsoft.Office.Core.CommandBar.Position* du Microsoft.Office.Core.CommandBar qui représente le volet des tâches.However, you can programmatically move the task pane by setting the Microsoft.Office.Core.CommandBar.Position* property of the Microsoft.Office.Core.CommandBar that represents the task pane.

Le repositionnement par programmation du volet des tâches n'est généralement pas recommandé, car l'utilisateur doit pouvoir choisir la position du volet des tâches qui correspond le mieux à ses besoins.Programmatically repositioning the task pane is generally not recommended because the user should be able to choose the task pane position on the screen that best suits his or her needs. Cependant, si vous devez déplacer le volet des tâches vers un emplacement particulier, vous pouvez utiliser le code suivant pour effectuer cette tâche.However, if you must move the task pane to a particular position, you could use the following code to achieve this task.

this.CommandBars["Task Pane"].Position =
    Microsoft.Office.Core.MsoBarPosition.msoBarLeft;
Me.CommandBars("Task Pane").Position = _
    Microsoft.Office.Core.MsoBarPosition.msoBarLeft

Note

Les utilisateurs finaux peuvent repositionner manuellement le volet de tâches à tout moment.End users can manually reposition the task pane at any time. Il n'existe aucun moyen de garantir que le volet des tâches demeure ancré à la position indiquée par programmation.There is no way to ensure that the task pane will remain docked at the position you indicate programmatically. Toutefois, vous pouvez vérifier les modifications de l'orientation et vous assurer que les contrôles du volet Actions sont empilés dans le bon sens.However, you can check for orientation changes and ensure that the controls on the actions pane are stacked in the correct direction. Pour plus d’informations, consultez Comment : gérer la disposition des contrôles dans les volets Actions.For more information, see How to: Manage Control Layout on Actions Panes.

La définition des propriétés Top et Left de l'objet ActionsPane ne modifie pas sa position, car l'objet ActionsPane est incorporé au volet des tâches.Setting the Top and Left properties of the ActionsPane does not change its position because the ActionsPane object is embedded in the task pane.

Si le volet des tâches n'est pas ancré, vous pouvez définir les propriétés Microsoft.Office.Core.CommandBar.Top* et Microsoft.Office.Core.CommandBar.Left* de l'objet Microsoft.Office.Core.CommandBar qui représente le volet des tâches.If the task pane is not docked, you can set the Microsoft.Office.Core.CommandBar.Top* and Microsoft.Office.Core.CommandBar.Left* properties of the Microsoft.Office.Core.CommandBar that represents the task pane. Le code suivant déplace un volet des tâches non ancré vers l’angle supérieur gauche du document.The following code moves an undocked task pane to the upper-left corner of the document.

if (this.CommandBars["Task Pane"].Position == 
    Microsoft.Office.Core.MsoBarPosition.msoBarFloating)
{
    this.CommandBars["Task Pane"].Top = 0;
    this.CommandBars["Task Pane"].Left = 0;
}
If Me.CommandBars("Task Pane").Position = _
    Microsoft.Office.Core.MsoBarPosition.msoBarFloating Then

    Me.CommandBars("Task Pane").Top = 0
    Me.CommandBars("Task Pane").Left = 0

End If

Voir aussiSee Also

Utilisation de contrôles WPF dans les Solutions Office Using WPF Controls in Office Solutions
Personnalisation de l’interface utilisateur Office Office UI Customization
Accès global aux objets dans les projets Office Global Access to Objects in Office Projects
Comment : ajouter un volet Actions à des Documents Word ou des classeurs Excel How to: Add an Actions Pane to Word Documents or Excel Workbooks
Procédure pas à pas : Insertion de texte dans un Document à partir d’un volet Actions Walkthrough: Inserting Text into a Document from an Actions Pane
Procédure pas à pas : Liaison de données aux contrôles dans un volet Actions Word Walkthrough: Binding Data to Controls on a Word Actions Pane
Procédure pas à pas : Liaison de données aux contrôles dans un volet Actions Excel Walkthrough: Binding Data to Controls on an Excel Actions Pane
Comment : gérer la disposition des contrôles dans les volets Actions How to: Manage Control Layout on Actions Panes
Procédure pas à pas : insertion de texte dans un document à partir d’un volet ActionsWalkthrough: Inserting Text into a Document from an Actions Pane