Comment utiliser des boutons pour sélectionner des données dans Excel (sans VBA)
Dans ce tutoriel, je vais vous montrer comment créer des boutons dynamiques dans Excel pour filtrer des données dans vos feuilles Excel. Contrairement à une simple liste déroulante, les segments offrent une expérience utilisateur exceptionnelle : ils sont visuellement attractifs, montrent clairement quelle option est sélectionnée, et permettent une interaction directe sans avoir à ouvrir de menu déroulant.
L'avantage majeur de cette approche est qu'elle utilise exclusivement des fonctionnalités natives d'Excel, garantissant une compatibilité parfaite et une maintenance simplifiée. De plus, les segments options de personnalisation avancées que ne permettent pas les listes de sélection.
Téléchargement
Vous pouvez télécharger le fichier d'exemple de cet article en cliquant sur le lien suivant :
Tutoriel Vidéo
1. Présentation
Pour illustrer ce tutoriel, nous allons utiliser le classeur que nous avons mis en place dans le tutoriel précédent, dans lequel nous avons comment utiliser une liste déroulante pour sélectionner rapidement un graphique à afficher pour illustrer les données d’un tableau.
2. Création des segments
Les segments sont une des fonctionnalités les moins connues d'Excel, alors qu'ils sont extrêmement puissants et permettent de créer des interfaces de filtrage visuellement attrayantes et intuitives.
Ces outils transforment l'expérience utilisateur en remplaçant les traditionnelles listes déroulantes par des boutons élégants et interactifs.
L'avantage des segments est qu'ils offrent une visualisation immédiate de toutes les options disponibles, permettent une sélection multiple intuitive, et fournissent un retour visuel instantané sur les choix effectués.
Ils constituent une solution moderne et professionnelle pour créer des tableaux de bord dynamiques sans recourir à la programmation VBA.
En revanche, ces derniers ne peuvent pas être utilisés directement sur des plages de données classiques.
Ils doivent en effet reposer sur deux types d'outils avancés d'Excel : les tableaux croisés dynamiques, ou les tableaux structurés.
Par contre, sur ces derniers, les segments permettent de filtrer les données affichées, et non pas de retourner une valeur unique comme le ferait une liste déroulante classique.
Nous allons donc passer par l'étape intermédiaire de création d'un tableau croisé dynamique.
C'est cette approche qui nous permettra de récupérer facilement la valeur sélectionnée dans une cellule spécifique, que nous pourrons ensuite exploiter dans nos formules.
En effet, un TCD est un outil d'analyse qui permet de synthétiser et de restructurer des données en les regroupant selon différents critères.
Dans notre cas, nous l'utiliserons de manière détournée : non pas pour analyser des données, mais pour créer une structure compatible avec les segments.
Ici, ce n’est pas l’objet de ce tutoriel, donc nous allons passer rapidement, mais pour ceux si vous souhaitez en savoir plus sur cet outil fondamental d'Excel, vous pouvez retrouver mon livre "Les tableaux croisés dynamiques pour les grands débutants" qui détaille toutes ses possibilités.
Pour commencer, nous allons créer une table auxiliaire qui contiendra les valeurs que nous souhaitons faire apparaître sur les segments.
Cette table sera la source de notre segment de sélection et déterminera les options disponibles pour l'utilisateur.
Sur une nouvelle feuille de calcul, que nous appelons « Sélection », nous saisissons les valeurs suivantes dans une colonne :
Cette approche nous permet de centraliser la gestion des options disponibles et de les modifier facilement si nécessaire.
La structure en tableau garantit également une meilleure compatibilité avec les outils d'analyse d'Excel.
Ensuite, nous sélectionnons cette petite table et nous nous rendons dans l'onglet "Insertion" puis "Tableau croisé dynamique".
Dans la boîte de dialogue, nous choisissons de placer le TCD dans une feuille de calcul existante, puis nous sélectionnons la cellule C1 de cette même feuille « Sélection » :
Le choix de placer le TCD sur la même feuille que notre table source simplifie la maintenance et garde tous les éléments de contrôle au même endroit.
Cela facilite également la compréhension de la structure pour d'autres utilisateurs qui pourraient travailler sur le fichier.
Une fois le TCD créé, nous faisons glisser l’unique champ "Liste des graphiques" dans la zone "Lignes" du panneau des champs de tableau croisé dynamique.
Notre TCD affiche maintenant nos trois options de graphiques.
3. Création et configuration du segment
Maintenant que notre tableau croisé dynamique est en place, nous pouvons créer le segment qui nous servira de contrôleur.
Avec notre TCD sélectionné, nous nous rendons dans l'onglet "Analyse du tableau croisé dynamique" qui apparaît automatiquement.
Dans le groupe "Filtrer", nous cliquons sur "Insérer un segment".
Une boîte de dialogue s'ouvre, listant tous les champs disponibles de notre TCD. Nous cochons "Liste des graphiques" et nous validons par "OK".
Un segment apparaît immédiatement sur notre feuille.
Ce segment affiche nos trois options sous forme de boutons élégants :
Maintenant, si cliquons sur l’un de ces boutons, nous pourrons constater que le filtre sera appliqué sur le tableau croisé dynamique, et que la valeur sélectionnée sera insérée dans la cellule C2.
Si plusieurs boutons sont sélectionnés, ces derniers seront affichés dans le tableau croisé dynamique, mais nous nous contenterons d’exploiter cette cellule C2 en ignorant les autres.
4. Récupération de la valeur de la cellule C2
Maintenant pour utiliser cette valeur, plutôt que celle de la liste déroulante dans la feuille principale, nous allons nous rendre dans le gestionnaire des noms, en nous rendant dans le menu « Formules » du ruban, puis en cliquant sur le bouton « Gestionnaire des noms » :
Nous retrouvons ensuite le nom « Graph » que nous avions créé dans le tutoriel précédent.
Nous le sélectionnons, et ensuite, il suffit de modifier la référence à la liste déroulante pour pointer vers cette cellule C2.
La formule devient alors :
=INDIRECT("'"&Sélection!$C$2&"'!A1:K26")
Une fois la formule modifiée, nous validons la modification en cliquant sur la coche verte.
5. Personnalisation visuelle du segment
L'un des grands avantages des segments Excel est leur capacité de personnalisation avancée.
Nous allons styliser notre segment pour qu'il s'intègre parfaitement à notre tableau de bord.
Pour le déplacer sur la feuille principale, puis nous le coupons en appuyant sur [Ctrl]+[X], puis nous le collons avec [Ctrl]+[V].
Le segment conserve toutes ses propriétés et reste fonctionnellement lié à notre TCD même s'il est maintenant sur une autre feuille. C'est l'une des grandes forces des segments Excel.
Ensuite, nous le sélectionnons, et nous nous rendons dans l'onglet "Options".
Dans le groupe "Styles de segments", nous pouvons choisir parmi de nombreux styles prédéfinis.
Nous pouvons également personnaliser davantage en cliquant sur "Paramètres du segment" dans le même onglet.
Une boîte de dialogue s'ouvre avec plusieurs options, et nous allons décocher l’option « Afficher les en-têtes » :
Il ne reste plus qu’à modifier la taille de la boîte de segments, et celle occupée par chacun d’entre eux (pour augmenter la hauteur des boutons, nous pouvons modifier la valeur « Hauteur » dans le menu « Segment », et nous pouvons afficher les boutons sur une même ligne en utilisant le champ « Colonnes ») :
Notre système est maintenant opérationnel ! Lorsque nous cliquons sur un bouton de notre segment, plusieurs actions se déclenchent automatiquement :
1. Le TCD se filtre selon la sélection
2. INDIRECT recalcule la référence vers le bon graphique en captant la valeur sélectionnée
3. Le graphique se met à jour instantanément
Pour tester, nous cliquons successivement sur plusieurs boutons dans notre segment.
Chaque clic va provoquer un changement immédiat du graphique affiché.
Si le changement ne s'opère pas immédiatement, nous pouvons forcer le recalcul avec Ctrl+Alt+F9.
Les segments Excel offrent automatiquement un feedback visuel : le bouton sélectionné apparaît enfoncé et dans une couleur différente.
Cette indication claire améliore grandement l'expérience utilisateur.