Vue d’ensemble du volet ActionsActions pane overview

Un volet actions est un personnalisable Actions de Document volet des tâches qui est attaché à un document Microsoft Office Word spécifique ou d’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. Le volet actions est hébergé dans le volet de tâches, ainsi que d’autres volets de tâches intégrées, telles que la Source XML volet dans Excel ou le Styles et mise en forme volet de tâches dans Word.The actions pane 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 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... : contrôles de faire : utiliser WPF à 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?.

Afficher le volet actionsDisplay 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 lors de l’exécution, dès que vous ajoutez explicitement un contrôle à ce dernier.The actions pane becomes visible at runtime 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.

Ajoutez plusieurs contrôles au volet actionsAdd multiple controls to the actions pane

Lorsque vous ajoutez plusieurs contrôles au volet actions, vous devez regrouper les contrôles dans un contrôle utilisateur et puis ajoutez le contrôle utilisateur à la Controls propriété.When you add multiple controls to the actions pane, 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 contrôle l’utilisation WPF dans les solutions Office.For more information, see Use 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 de classeurs Excel.For examples that demonstrate this process in more detail, see How to: Add an actions pane to Word documents or Excel workbooks.

Masquer le volet actionsHide 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. Appelant le Hide méthode ou paramètre la Visible propriété false masque uniquement les contrôles du volet actions ; il ne masque pas le volet des 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:

  • Pour Word, définissez le Visible propriété de la Microsoft.Office.Interop.Word.TaskPane objet qui représente le volet de tâches Actions de Document false.For Word, set the Visible property of the Microsoft.Office.Interop.Word.TaskPane object that represents the Document Actions task pane to false. L'exemple de code suivant est destiné à être exécuté à partir de la classe ThisDocument de votre projet.The following code example is intended to be run from the ThisDocument class in your project.

    this.Application.TaskPanes[Word.WdTaskPanes.wdTaskPaneDocumentActions].Visible = false;
    
    Me.Application.TaskPanes(Word.WdTaskPanes.wdTaskPaneDocumentActions).Visible = False
    
  • Pour Excel, définissez le DisplayDocumentActionTaskPane propriété de la Application objet false.For Excel, set the DisplayDocumentActionTaskPane property of the Application object to false. L'exemple de code suivant est destiné à être exécuté à partir de la classe ThisWorkbook de votre projet.The following code example is intended to be run from the ThisWorkbook class in your project.

    this.Application.DisplayDocumentActionTaskPane = false;
    
    Me.Application.DisplayDocumentActionTaskPane = False
    
  • Pour Word ou Excel, vous pouvez également définir le <xref:Microsoft.Office.Core.CommandBar.Visible%2A> propriété de la barre de commandes qui représente le volet de tâches false.For Word or Excel, you can alternatively set the <xref:Microsoft.Office.Core.CommandBar.Visible%2A> property of the command bar that represents the task pane to false. L'exemple de code suivant est destiné à être exécuté à partir de la classe ThisDocument ou ThisWorkbook de votre projet.The following code example is intended to be run from the ThisDocument or ThisWorkbook class in your project.

    this.Application.CommandBars["Task Pane"].Visible = false;
    
    Me.Application.CommandBars("Task Pane").Visible = False
    

Effacer le volet actions lorsque le document est ouvert.Clear the actions pane when the document is opened

Lorsqu’un utilisateur enregistre le document pendant que le volet actions est visible, le volet actions est visible chaque fois que le document est ouvert, si le volet actions contienne des contrôles ou non.When a 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éterminer quand le volet actions est ferméDetermine 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 en appelant 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.

Lorsque l’utilisateur ferme le volet actions, l’utilisateur puisse l’afficher à nouveau en effectuant l’une des procédures suivantes dans l’interface utilisateur (IU) de l’application.When the 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 de groupe, cliquez sur le Actions de Document bouton bascule.In the Show/Hide group, click the Document Actions toggle button.

Événements de volet actions de programmeProgram 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 : mapper des schémas à des documents Word dans Visual Studio et Comment : mapper des schémas à 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 : programmer des événements d’un contrôle NamedRange.For more information, see Walkthrough: Program against events of a NamedRange control.

Lier des données aux contrôles dans le volet actionsBind 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 liaison de données et 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: Bind data to controls on an Excel actions pane.

Valider les données dans les contrôles de volet actionsValidate 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.

Contrôle utilisateur ordre d’empilementUser 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.
Aucun.None 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

Ancrer des contrôlesAnchor controls

Si l’utilisateur redimensionne le volet actions lors de l’exécution, les contrôles peuvent être redimensionnés avec le volet actions.If the user resizes the actions pane at runtime, 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 aux Windows Forms.For more information, see How to: Anchor controls on Windows Forms.

Redimensionner le volet actionsResize 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é <xref:Microsoft.Office.Core.CommandBar.Width%2A> 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 <xref:Microsoft.Office.Core.CommandBar.Width%2A> 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 le volet des tâches n’est pas recommandé, car l’utilisateur doit être en mesure de sélectionner la taille du volet de tâches qui correspond le mieux à leurs besoins.Programmatically resizing the task pane is not recommended because the user should be able to select the task pane size that best suits their 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

Repositionner le volet actionsReposition 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é <xref:Microsoft.Office.Core.CommandBar.Position%2A> du Microsoft.Office.Core.CommandBar qui représente le volet des tâches.However, you can programmatically move the task pane by setting the <xref:Microsoft.Office.Core.CommandBar.Position%2A> property of the Microsoft.Office.Core.CommandBar that represents the task pane.

Repositionnement par programmation le volet des tâches n’est pas recommandé, car l’utilisateur doit être en mesure de choisir la position de la tâche sur l’écran qui répond le mieux à ses besoins.Programmatically repositioning the task pane is 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.

Définition de la Top et Left propriétés de la ActionsPane ne change pas sa position, car le ActionsPane objet est incorporé dans le volet des tâches.Setting the Top and Left properties of the ActionsPane doesn't 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 <xref:Microsoft.Office.Core.CommandBar.Top%2A> et <xref:Microsoft.Office.Core.CommandBar.Left%2A> 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 <xref:Microsoft.Office.Core.CommandBar.Top%2A> and <xref:Microsoft.Office.Core.CommandBar.Left%2A> 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

Utiliser des contrôles WPF dans les solutions Office Use 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 de classeurs Excel How to: Add an actions pane to Word documents or Excel workbooks
Procédure pas à pas : Insérer du texte dans un document à partir d’un volet actions Walkthrough: Insert 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: Bind 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: Bind 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 : Insérer du texte dans un document à partir d’un volet actionsWalkthrough: Insert text into a document from an actions pane