Feuille intelligente 9.1.1
Smartsheet est une plateforme de travail dynamique qui vous permet de gérer des projets, de créer des flux de travail et de collaborer avec votre équipe.
Avant Excel 2007, les programmeurs VBA utilisaient l'objet CommandBar pour créer des menus personnalisés, des barres d'outils personnalisées et des menus de raccourcis personnalisés (clic droit). À partir d'Excel 2007, l'objet CommandBar est dans une position plutôt étrange. Si vous écrivez du code pour personnaliser un menu ou une barre d'outils, Excel intercepte ce code et ignore bon nombre de vos commandes.
Au lieu d'afficher votre amélioration d'interface bien pensée, Excel 2007 (comme les versions ultérieures) vide simplement vos menus et barres d'outils personnalisés dans un onglet de ruban fourre-tout nommé Compléments.
Les personnalisations des menus et des barres d'outils se retrouvent dans le groupe Compléments → Commandes de menu ou dans le groupe Compléments → Barres d'outils personnalisées. Mais la personnalisation des menus contextuels (qui utilise également l'objet CommandBar) fonctionne toujours comme elle l'a toujours fait - enfin, en quelque sorte.
En bout de ligne ? L'objet CommandBar n'est plus très utile, mais il reste le seul moyen de personnaliser les menus contextuels.
Ci-dessous, vous trouverez un exemple de code qui ajoute un nouvel élément au menu contextuel qui apparaît lorsque vous cliquez avec le bouton droit sur une cellule. Vous devez pouvoir adapter ces exemples à vos besoins.
Vous pouvez améliorer un peu l'utilitaire Change Case en le rendant disponible à partir du menu contextuel Cellule.
La procédure AddToShortcut ajoute un nouvel élément de menu au menu contextuel Cellule. Vous pouvez l'adapter pour pointer vers vos propres macros en modifiant les propriétés Caption et OnAction de l'objet nommé NewControl.
Sous AddToShortCut() Dim Bar en tant que CommandBar Dim NewControl en tant que CommandBarButton Supprimer à partir du raccourci Définir la barre = Application.CommandBars ("Cellule") Définir NewControl = Bar.Controls.Add _ (Tapez :=msoControlButton, ID :=1, _ temporaire : = vrai) Avec NewControl .Caption = "&Changer la casse" .OnAction = "ChangeCase" .Style = msoButtonIconAndCaption Terminer par Fin du sous-marin
Lorsque vous modifiez un menu contextuel, cette modification reste en vigueur jusqu'au redémarrage d'Excel. En d'autres termes, les menus contextuels modifiés ne se réinitialisent pas lorsque vous fermez le classeur qui contient le code VBA. Par conséquent, si vous écrivez du code pour modifier un menu contextuel, vous écrivez presque toujours du code pour inverser l'effet de votre modification.
La procédure DeleteFromShortcut supprime le nouvel élément de menu du menu contextuel Cellule :
Sub DeleteFromShortcut() En cas d'erreur Reprendre ensuite Application.CommandBars ("Cellule").Controls _ ("&Changer la casse").Supprimer Fin du sous-marin
Cela montre comment le nouvel élément de menu s'affiche après un clic droit sur une cellule.
Le menu contextuel Cellule affichant un élément de menu personnalisé : Changer la casse.
La première commande réelle après la déclaration de quelques variables appelle la procédure DeleteFromShortcut. Cette instruction garantit qu'un seul élément de menu Modifier la casse s'affiche dans le menu contextuel Cellule. Essayez de commenter cette ligne (mettez une apostrophe au début de la ligne) et exécutez la procédure plusieurs fois, mais ne vous laissez pas emporter !
Cliquez avec le bouton droit sur une cellule et vous pouvez voir plusieurs instances de l'élément de menu Modifier la casse. Débarrassez-vous de toutes les entrées en exécutant plusieurs fois DeleteFromShortcut (une fois pour chaque élément de menu supplémentaire).
Enfin, vous avez besoin d'un moyen d'ajouter l'élément de menu contextuel lorsque le classeur est ouvert et de supprimer l'élément de menu lorsque le classeur est fermé. Faire cela est facile. Ajoutez simplement ces deux procédures événementielles au module de code ThisWorkbook :
Sous-classeur privé_Open() Appel AddToShortCut Fin du sous-marin Private Sub Workbook_BeforeClose (Annuler en tant que booléen) Appel DeleteFromShortcut Fin du sous-marin
La procédure Workbook_Open est exécutée lorsque le classeur est ouvert et la procédure Workbook_BeforeClose est exécutée avant la fermeture du classeur. Juste ce que le docteur à prescrit.
Si vous avez utilisé VBA pour travailler avec des menus contextuels dans Excel 2007 ou une version antérieure, vous devez être conscient d'un changement important.
Dans le passé, si votre code modifiait un menu contextuel, cette modification était en vigueur pour tous les classeurs. Par exemple, si vous avez ajouté un nouvel élément au menu contextuel Cellule, ce nouvel élément apparaîtra lorsque vous cliquerez avec le bouton droit sur une cellule de n'importe quel classeur (ainsi que d'autres classeurs que vous ouvrirez ultérieurement). En d'autres termes, des modifications de menu contextuel ont été apportées au niveau de l' application .
Excel 2013 et Excel 2016 utilisent une interface de document unique, ce qui affecte les menus contextuels. Les modifications que vous apportez aux menus contextuels affectent uniquement la fenêtre de classeur active. Lorsque vous exécutez le code qui modifie le menu contextuel, le menu contextuel des fenêtres autres que la fenêtre active ne sera pas modifié. C'est un changement radical par rapport à la façon dont les choses fonctionnaient auparavant.
Autre rebondissement : si l'utilisateur ouvre un classeur (ou crée un nouveau classeur) lorsque la fenêtre active affiche le menu contextuel modifié, le nouveau classeur affiche également le menu contextuel modifié. En d'autres termes, les nouvelles fenêtres affichent les mêmes menus contextuels que la fenêtre qui était active lors de l'ouverture des nouvelles fenêtres.
Bottom line: Dans le passé, si vous ouvriez un classeur ou un complément qui modifiait les menus contextuels, vous pouviez être assuré que les menus contextuels modifiés seraient disponibles dans tous les classeurs. Vous n'avez plus cette assurance.
La fenêtre de conception de macros est différente dans Access 2007 par rapport aux versions ultérieures. Développez donc les sections suivantes pour suivre si vous utilisez Access 2007.
Au cours de cette étape, vous créez un groupe de macros, dont chaque macro constituera une commande distincte dans votre menu contextuel.
Qu'est-ce qu'un macrogroupe ?
Un groupe de macros est un objet macro unique contenant au moins deux macros indépendantes. Les macros individuelles sont identifiées en tapant un nom pour chaque macro dans la colonne Noms de macro. Dans l'illustration suivante, Macro3 est un groupe de macros. NotFoundMsg et FoundMsg sont des macros individuelles au sein du groupe, chaque macro étant composée de deux actions de macro.
Remarque : La colonne Nom de la macro est masquée par défaut. Pour afficher la colonne Nom de la macro , sous l' onglet Conception , dans le groupe Afficher/Masquer , cliquez sur Noms de macro .
Sous l' onglet Créer , dans le groupe Autre , cliquez sur Macro . Si cette commande n'est pas disponible, cliquez sur la flèche située sous le bouton Module ou Module de classe , puis cliquez sur Macro .
Sous l’ onglet Conception , dans le groupe Afficher/Masquer , cliquez sur Noms de macro pour afficher la colonne Nom de macro .
Pour chaque commande que vous souhaitez dans votre menu contextuel personnalisé :
Dans la colonne Nom de la macro , saisissez le texte que vous souhaitez afficher dans le menu contextuel (par exemple, « Imprimer le rapport » ou « Enregistrer »).
Remarque : Pour créer une clé d'accès afin que vous puissiez utiliser le clavier pour choisir la commande, tapez une esperluette (&) avant la lettre que vous souhaitez utiliser comme clé d'accès dans le nom de la commande (par exemple, "&Enregistrer"). Cette lettre sera soulignée sur le menu.Dans la colonne Action , sélectionnez la première action que vous souhaitez exécuter lorsque vous cliquez sur la commande dans le menu contextuel.
Si vous souhaitez effectuer d'autres actions lorsque vous sélectionnez cette commande, ajoutez-les sur les lignes suivantes. Pour chaque action ultérieure, laissez la cellule Nom de la macro vide.
Remarque : Pour créer une ligne entre deux commandes de menu, tapez un trait d'union (-) dans la colonne Nom de la macro entre les commandes de menu appropriées.Enregistrez et nommez la macro, par exemple mcrShortcutMenuCommands .
L'illustration suivante montre un exemple de groupe de macros pour un menu personnalisé ou un menu contextuel.
Cette étape peut sembler redondante, mais pour créer le menu contextuel à partir du groupe de macros que vous avez créé à l'étape 1, vous devez créer une deuxième macro contenant l' action de macro AddMenu . Cette macro est parfois appelée « macro de menu ».
Sous l' onglet Créer , dans le groupe Autre , cliquez sur Macro . Si cette commande n'est pas disponible, cliquez sur la flèche située sous le bouton Module ou Module de classe , puis cliquez sur Macro .
Sur la première ligne de la macro, sélectionnez AddMenu dans la liste Action .
Sous Arguments d'action , dans la zone Nom du menu , tapez le nom du menu (par exemple, « Commandes de rapport »). Cet argument n'est pas obligatoire, mais il est recommandé si, à l'étape 3, vous envisagez d'ajouter le menu à un onglet du ruban (tel que l' onglet Compléments d'un formulaire ou d'un état). Si le menu est ajouté en tant que menu contextuel à l'étape 3, l' argument Nom du menu est ignoré.
Dans la zone Nom de la macro de menu , entrez le nom de la macro que vous avez créée à l'étape 1.
Enregistrez et nommez la macro, par exemple mcrAddShortcutMenu .
L'illustration suivante montre un exemple de macro de menu qui crée le menu que nous avons conçu à l'étape 1.
Selon l'endroit où vous souhaitez que le menu apparaisse, utilisez une ou plusieurs des procédures suivantes.
Ajouter le menu à l'onglet Compléments d'un formulaire ou d'un rapport
Utilisez cette procédure si vous souhaitez que le menu apparaisse sur l’ onglet Compléments pour un formulaire ou un rapport spécifique, comme indiqué dans l’illustration suivante :
Dans le volet de navigation, cliquez avec le bouton droit sur le formulaire ou l'état dans lequel vous souhaitez que le menu apparaisse, puis cliquez sur Mode Création .
Sous l' onglet Conception , dans le groupe Afficher/Masquer , cliquez sur Feuille de propriétés .
Sélectionnez l’objet entier en sélectionnant Formulaire ou Rapport dans la liste en haut du volet des tâches Feuille de propriétés.
Sous l’ onglet Autre de la feuille de propriétés, dans la zone de propriétés Menu contextuel , tapez le nom de la macro que vous avez créée à l’étape 2 (dans cet exemple, « mcrAddShortcutMenu »).
La prochaine fois que vous ouvrirez le formulaire ou le rapport, l' onglet Compléments apparaîtra dans le ruban. Cliquez sur l'onglet pour voir le menu.
Pour plus d'informations sur les techniques de personnalisation du ruban, telles que l'ajout d'onglets personnalisés ou le masquage des onglets par défaut, consultez l'article Créer un ruban personnalisé dans Access .
Le ruban est un composant de l'interface utilisateur de Microsoft Office Fluent.
Ajouter le menu en tant que menu contextuel pour un formulaire, un rapport ou un contrôle
Utilisez cette procédure si vous souhaitez que le menu apparaisse lorsque vous cliquez avec le bouton droit sur un formulaire, un état ou un contrôle spécifique, comme indiqué dans l'illustration suivante :
Dans le volet de navigation, cliquez avec le bouton droit sur le formulaire ou l'état dans lequel vous souhaitez que le menu contextuel apparaisse, puis cliquez sur Mode Création .
Sous l' onglet Conception , dans le groupe Afficher/Masquer , cliquez sur Feuille de propriétés .
Sélectionnez le contrôle ou l'objet auquel vous souhaitez attacher le menu contextuel.
Remarque : Pour sélectionner l'objet entier, sélectionnez Formulaire ou Rapport dans la liste en haut du volet des tâches Feuille de propriétés.
Sous l’ onglet Autre de la feuille de propriétés, dans la zone de propriétés Barre de menus contextuels , tapez le nom de la macro que vous avez créée à l’étape 2 (dans cet exemple, « mcrAddShortcutMenu »).
Ajouter le menu en tant que menu contextuel global
Cette procédure remplace tous les menus contextuels par défaut de la base de données actuelle. Les menus contextuels personnalisés que vous avez attachés à des formulaires, rapports ou contrôles spécifiques ne sont pas affectés.
Cliquez sur le bouton Microsoft Office , puis sur Options d'accès .
Dans la boîte de dialogue Options d'accès , cliquez sur Base de données actuelle .
Sous Options du ruban et de la barre d'outils , dans la zone Barre de menu contextuel , tapez le nom de la macro que vous avez créée à l'étape 2 (dans cet exemple, « mcrAddShortcutMenu »).
Les menus contextuels personnalisés remplacent les menus contextuels par défaut pour les objets auxquels ils sont attachés. Si vous souhaitez conserver certaines commandes Access à utiliser dans ces menus, utilisez l' action RunCommand pour placer les commandes dans les groupes de macros des menus dans lesquels vous souhaitez les utiliser.
Un menu contextuel personnalisé attaché à un contrôle remplace tout autre menu contextuel personnalisé défini dans la base de données. Un menu contextuel personnalisé associé à un formulaire ou à un état remplace un menu contextuel global personnalisé.
Lorsque vous spécifiez une macro de menu pour un formulaire, un état ou pour la base de données, Access exécute cette macro de menu chaque fois que le formulaire, l'état ou la base de données est ouvert. Si vous apportez des modifications à la macro de menu ou au groupe de macros qui définit ses commandes alors que le formulaire, l'état ou la base de données est ouvert, vous devez fermer le formulaire, l'état ou la base de données et le rouvrir pour voir les modifications.
Pour créer un sous-menu, suivez l'étape 1 pour créer un groupe de macros distinct contenant uniquement les commandes du sous-menu. Ensuite, suivez à nouveau l'étape 1 pour définir les commandes du menu de niveau supérieur. Ajoutez le sous-menu en tant qu'élément dans le groupe de macros de niveau supérieur à l'aide de l' action de macro AddMenu . L'illustration suivante montre le groupe de macros d'un menu contenant un sous-menu, puis affiche le menu contextuel obtenu. La troisième ligne du groupe de macros crée le sous-menu Exporter vers... ( mcrSubMenu ).
Vous pouvez créer plusieurs niveaux de sous-menus en utilisant les actions AddMenu dans les groupes de macros pour chaque niveau de menu. Assurez-vous de fournir une valeur pour l' argument Nom du menu pour chaque action AddMenu , sinon le sous-menu apparaîtra sous la forme d'une ligne vide dans le menu de niveau supérieur.
Les conditions de macro sont prises en charge uniquement dans la macro du menu de niveau supérieur. En d’autres termes, vous pouvez utiliser une condition dans une macro de menu pour déterminer si un menu ou un menu contextuel particulier sera affiché, mais uniquement pour les menus du niveau supérieur. Vous ne pouvez pas utiliser de conditions pour afficher ou masquer des commandes ou des sous-menus dans les menus. Vous pouvez également utiliser une condition pour masquer ou afficher un menu contextuel personnalisé ou un menu contextuel global.
Facultativement, la macro de menu que vous créez à l'étape 2 peut faire partie d'un groupe de macros. Par exemple, si vous disposez de plusieurs menus contextuels pour différents objets ou contrôles, vous pouvez créer un seul objet macro contenant toutes les macros de menu nécessaires. Assurez-vous d'afficher la colonne Nom de la macro et de saisir un nom unique pour chaque macro. À l'étape 3, utilisez la notation suivante pour faire référence à la macro : macrogroupname.macroname . Par exemple, mcrAddShortcutMenus.AddMenu2 .
Smartsheet est une plateforme de travail dynamique qui vous permet de gérer des projets, de créer des flux de travail et de collaborer avec votre équipe.
SharePoint est un système de collaboration basé sur le Web qui utilise une variété d'applications de flux de travail, des bases de données de « liste » et d'autres composants Web, ainsi que des fonctionnalités de sécurité pour donner le contrôle aux groupes professionnels qui travaillent ensemble.
Van Nien Calendar est une application d'affichage de calendrier sur votre téléphone, vous aidant à voir rapidement la date luni-solaire sur votre téléphone, organisant ainsi votre travail important.
Microsoft Outlook est une application commerciale et de productivité développée par Microsoft Corporation.
ClickUp est l'une des plateformes de productivité les mieux notées pour toutes les entreprises. Les grandes entreprises comme Google, Booking.com, San Diego Padres et Uber utilisent toutes ClickUp pour augmenter la productivité sur le lieu de travail.
Le PDF est devenu un format couramment utilisé pour lire, créer et envoyer des documents texte. À son tour, le nombre de programmes utilisés pour ce type de documentation a augmenté. PDF-XChange Viewer fait partie d'un nombre croissant de visualiseurs PDF.
Apache OpenOffice propose une suite complète d'applications Office qui rivalisent avec Microsoft 365, notamment dans Excel, PowerPoint et Word. Il vous permet de gérer vos projets plus efficacement et prend en charge plusieurs formats de fichiers.
Le logiciel iTaxViewer est aujourd'hui le logiciel de lecture de fichiers XML le plus populaire. Ce logiciel est une application de lecture des déclarations fiscales électroniques au format XML de la Direction Générale des Impôts.
Nitro PDF Reader est un éditeur PDF pratique qui couvre toutes les tâches de base que la plupart des gens effectuent quotidiennement avec des documents PDF.
Foxit Reader est avant tout un lecteur PDF et vous permet également de créer des fichiers PDF, de les signer, de les modifier et d'ajouter des annotations. Il fonctionne sur les systèmes d'exploitation, il existe des plugins pour divers programmes du package Microsoft Office.