5 façons d’ajouter un bouton de tri dans Microsoft Excel

Excel logo
Excel logo

Vous souhaitez ajouter un bouton de tri dans Excel ? Le tri est un moyen simple d’afficher les valeurs les plus élevées ou les plus basses dans vos données. Il s’agit d’une tâche tellement courante dans l’analyse de données qu’avoir un bouton pour fournir une méthode de tri de vos données en un clic vous fera gagner du temps !

Ajouter un bouton de tri avec des filtres

Lorsque vous avez un ensemble de données tabulaires dans Excel, vous pouvez ajouter des commutateurs aux en-têtes de colonne qui vous permettent de trier et de filtrer les données. C’est le moyen le plus simple d’ajouter un bouton de tri à vos données, qui est toujours visible et disponible pour utilisation.

ex1

Voici comment ajouter les options de tri et de filtre à vos données.

  1. Sélectionnez les données à trier.
  2. Accédez à l’onglet Données.
  3. Cliquez sur la commande Filtre.

ex2

Cela ajoutera des filtres à vos données et vous pourrez les voir sur le côté droit de chaque en-tête de colonne de vos données.

sort-options-in-filter-toggles

Lorsque vous cliquez sur l’un d’eux, ils révéleront les différentes options de tri et de filtrage. Ceux-ci vous permettront de trier rapidement n’importe quel champ dans l’ordre croissant ou décroissant avec les commandes Trier du plus petit au plus grand ou Trier du plus grand au plus petit.

Ajouter un bouton de tri avec un raccourci clavier

Les commutateurs de tri et de filtre peuvent également être ajoutés à la sélection de données avec une simple combinaison de raccourcis. Sélectionnez votre plage de données et appuyez sur le raccourci clavier Ctrl+Shift+L pour ajouter les commutateurs de tri et de filtre. C’est un moyen simple d’ajouter ou de supprimer des filtres, car le lien sert de commutateur pour les activer ou les désactiver.

Ajouter un bouton de tri avec VBA

VBA est un langage de codage disponible dans la version de bureau d’Excel et vous permettra de créer des solutions personnalisées. Vous pouvez créer une macro VBA pour trier vos données et l’attribuer à un bouton dans la feuille.

Vous pouvez ensuite styliser votre bouton comme vous le souhaitez et ajouter du texte personnalisé au bouton. C’est une excellente option lorsque d’autres personnes utiliseront le classeur, car cela rend le tri très intuitif pour l’utilisateur. Voici comment créer votre propre bouton de tri avec VBA.

Appuyez sur le raccourci clavier Alt+F11 pour ouvrir l’éditeur Visual Basic.

vba-toggle-sort-order-subroutine

Accédez au menu Insertion de l’éditeur Visual Basic et sélectionnez l’option Module. Cela crée un module de code où vous pouvez ajouter votre code VBA qui triera vos données.

Sub ToggleSortOrder()  Dim ascCell As Boolean ascCell = ActiveSheet.Range("ascCell").Value2  If ascCell = True Then ActiveSheet.Range("ascCell").Value2 = False With ActiveWorkbook.Worksheets("Data").ListObjects("Cars").Sort .SortFields.Clear .SortFields.Add2 Key:=Range("Cars[[#All],[Year]]"), Order:=xlAscending .Apply End With Else ActiveSheet.Range("ascCell").Value2 = True With ActiveWorkbook.Worksheets("Data").ListObjects("Cars").Sort .SortFields.Clear .SortFields.Add2 Key:=Range("Cars[[#All],[Year]]"), Order:=xlDescending .Apply End With End If  End Sub

Ajoutez le code VBA ci-dessus à votre nouveau module. La sous-routine ToggleSortOrder() permet d’alterner le tri dans une table Excel nommée Cars sur la feuille nommée Data entre le tri croissant et décroissant de la colonne Year.

Commencez par définir une variable nommée ascCell sur la valeur d’une plage nommée dans la feuille appelée ascCell. Il s’agit d’une valeur Vraie ou Fausse, utilisée pour suivre le tri en cours, et permet à la routine de passer du tri ascendant au tri descendant.

named-range-for-tracking-sort-order

Vous pouvez créer la plage nommée dans votre feuille en sélectionnant une cellule, puis en tapant ascCell dans la zone Nom et en appuyant sur Entrée.

Une instruction If... Then... Else trie ensuite les données en fonction de la valeur de ascCell. Chaque partie de l’instruction If réécrit également dans la plage nommée ascCell pour suivre le tri.

vba-sort-button

Vous pouvez maintenant créer un bouton dans votre feuille et configurer le bouton pour qu’il exécute votre code VBA lorsqu’il est cliqué.

Ajouter un bouton de tri avec Office Scripts

Office Scripts est un langage de programmation disponible pour les versions de bureau et Web d’Excel avec un plan Microsoft 365 Business. Office Scripts sera la solution à privilégier si vous avez besoin d’un bouton de tri personnalisé qui fonctionne à la fois dans la version de bureau et Web d’Excel.

create-a-new-office-script-with-automate-tab

Accédez à l’onglet Automatiser et cliquez sur l’option Nouveau script pour ouvrir l’Éditeur de code et créer un nouveau script.

office-scripts-toggle-sort-order-code

function main(workbook: ExcelScript.Workbook) { let cars = workbook.getTable("Cars"); let ascCell = workbook.getActiveWorksheet().getRange("ascCell").getValue(); let ascValue: boolean; if (ascCell === true) { ascValue = true; workbook.getActiveWorksheet().getRange("ascCell").setValue(false); } else { ascValue = false; workbook.getActiveWorksheet().getRange("ascCell").setValue(true); }; cars.getSort().apply([{ key: 2, ascending: ascValue }], false); }

Ajoutez le code ci-dessus à l’éditeur de code et appuyez sur le bouton Enregistrer le script.

Ce code peut être utilisé pour trier un tableau dans un classeur Excel. Il commence par déclarer deux variables : cars et ascCell. La variable cars stocke le tableau du classeur, tandis que la variable ascCell stocke une valeur indiquant si l’opération de tri doit être effectuée dans l’ordre croissant (vrai) ou décroissant (faux).

Il vérifie la valeur de la cellule de la plage nommée ascCell pour déterminer quel ordre de tri utiliser. Cette cellule est utilisée pour suivre l’option de tri précédemment appliquée.

Le code mettra à jour la plage ascCell chaque fois qu’il s’exécutera. Cela permet au code de servir de bascule entre le tri croissant et le tri décroissant.

Si ascCell est défini sur vrai, les données sont triées par ordre croissant, sinon elles sont triées par ordre décroissant.

La valeur ascCell est utilisée pour définir la variable ascValue qui détermine le tri.

Enfin, il appelle la méthode .getSort() avec deux paramètres. Cela garantit que l’opération de tri souhaitée s’effectue sur le tableau.

  • key: 2 représente la colonne qui doit être triée. Il utilise un index de base zéro, donc 2 triera la troisième colonne.
  • ascending: ascValue est une valeur booléenne pour établir si vous souhaitez un tri ascendant (vrai) ou descendant (faux).

add-office-script-button

Ce code peut être exécuté à partir du bouton Exécuter dans l’Éditeur de code, mais vous pouvez également créer un bouton dans la feuille qui exécutera le code. Cliquez sur l’icône Ellipses dans le coin supérieur droit de l’Éditeur de code et sélectionnez l’option Ajouter un bouton dans le menu. Cela crée un bouton qui flotte au-dessus de la grille et exécutera le script Office chaque fois qu’il est appuyé.

office-script-button-edit-mode

Ajouter un bouton de tri avec un segment

Excel dispose d’une option de segment très utile pour filtrer les données d’un tableau. Il s’agit d’un objet de filtre interactif qui flotte au-dessus de la grille et permet à un utilisateur de filtrer un champ donné dans les données en cliquant sur les éléments du segment.

Malheureusement, il n’existe pas d’objet équivalent pour trier les données. Mais vous pouvez créer un outil de tri de données en utilisant des segments et la fonction de tableau dynamique SORTBY.

Cela vous permettra de configurer des segments avec des options ascendantes et descendantes qui peuvent être sélectionnées pour obtenir le tri souhaité. Voici comment vous pouvez le configurer.

sortby-input-table

Vous devrez d’abord configurer un second tableau qui sera finalement lié aux segments. Celui-ci aura 2 colonnes, l’une contiendra les étiquettes à afficher dans le segment, et l’autre contiendra les entrées d’arguments requises pour la fonction SORTBY. Dans le tableau ci-dessus, la colonne Type contient les étiquettes et la colonne Valeur contient les arguments SORTBY correspondants.

Le tableau aura deux lignes car la fonction SORTBY a deux entrées possibles. Elle peut trier par ordre croissant (1) ou par ordre décroissant (-1).

insert-slicer-for-second-table

Vous pouvez maintenant créer des segments pour ce tableau secondaire. Sélectionnez le tableau, accédez à l’onglet Conception du tableau et cliquez sur la commande Insérer un segment.

insert-slicer-menu-with-column-selected

Le menu Insérer un segment s’ouvrira, où vous pourrez sélectionner le champ sur lequel baser le segment. Sélectionnez la colonne Type qui contient les étiquettes Ascending et Descending, et appuyez sur le bouton OK pour créer le segment.

Cela créera un segment dans lequel vous pourrez sélectionner Ascending ou Descending. Cela filtrera le tableau pour n’afficher que l’option sélectionnée. Vous aurez maintenant besoin d’un moyen d’obtenir la valeur visible de votre tableau filtré. Cela peut être réalisé avec la fonction SUBTOTAL. Elle vous permettra d’agréger une colonne en fonction des lignes visibles.

subtotal-function-to-get-visible-row-values

=SUBTOTAL(104,Sort[Value])

La formule SUBTOTAL ci-dessus obtiendra la valeur maximale basée sur les lignes visibles dans la colonne Value. Elle renvoie 1 lorsque le tableau n’est pas filtré ou est filtré sur Ascending, et renvoie -1 lorsque le tableau est filtré sur Descending.

SORTBY-and-SUBTOTAL-formula

=SORTBY(Cars,Cars[Year],SUBTOTAL(104,Sort[Value]))

Ce résultat SUBTOTAL peut être utilisé dans la fonction SORTBY pour modifier le tri à l’aide des segments ! La formule ci-dessus renverra le tableau Cars trié par la colonne Year en fonction des résultats de SUBTOTAL.

slicer-as-sort-button

Vous pouvez maintenant trier vos données avec un segment !

Conclusion

Le tri des données est une partie essentielle de toute analyse de données, et avoir un bouton pour cela rendra le processus beaucoup plus facile. Les commutateurs de filtre fournissent un bouton intégré pour chaque en-tête de colonne dans les données, et ceux-ci peuvent être ajoutés rapidement avec un raccourci. Mais les options de tri qu’ils fournissent ne sont pas évidentes.

Une autre façon d’intégrer un bouton de tri pour vos données est d’utiliser VBA ou Office Scripts. Les deux vous permettront de créer du code pour trier vos données, et ceux-ci peuvent être ajoutés à un bouton placé dans votre feuille.

Auteur : John MacDougall

Pubblicato in

Se vuoi rimanere aggiornato su 5 façons d’ajouter un bouton de tri dans Microsoft Excel iscriviti alla nostra newsletter settimanale

Soyez le premier à commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


*