Masquer une ligne dans Excel, c’est pratique. La faire réapparaître d’un simple clic sur un bouton, c’est encore mieux. Et franchement, quand on commence à construire des tableaux de bord, des fichiers de suivi ou des modèles un peu “propres”, on se rend vite compte que certains blocs d’informations n’ont pas besoin d’être visibles tout le temps.
Bonne nouvelle : Excel permet de faire cela très simplement avec un bouton et un peu de VBA. Pas besoin d’être développeur, ni de passer trois heures à fouiller dans les menus. Avec la bonne méthode, vous pouvez afficher ou masquer une ligne en un clic, et même aller plus loin en adaptant le comportement à vos besoins.
Dans cet article, on va voir une méthode claire, efficace et réutilisable pour afficher et masquer une ligne avec un bouton dans Excel. L’idée est de rester simple, mais propre. Parce qu’un fichier Excel, comme une cuisine, fonctionne mieux quand tout est à sa place.
Pourquoi afficher ou masquer une ligne avec un bouton ?
Il y a plein de cas où cette fonctionnalité devient vraiment utile. Vous avez peut-être une ligne de paramètres que vous ne voulez montrer qu’à certains moments. Ou une ligne de calcul intermédiaire qui alourdit visuellement le tableau. Ou encore une zone “avancée” à cacher par défaut pour ne pas perdre l’utilisateur.
Voici quelques exemples concrets :
Le vrai intérêt, ce n’est pas seulement l’esthétique. C’est aussi la lisibilité. Un tableau clair est plus rapide à comprendre, plus agréable à utiliser, et moins sujet aux erreurs. Et si vous travaillez avec d’autres personnes, un bouton bien placé évite le fameux “attends, où est passée la ligne ?”.
La méthode la plus simple : utiliser un bouton et une macro VBA
Pour afficher ou masquer une ligne avec un bouton, la solution la plus souple consiste à utiliser VBA. Excel ne propose pas, en natif, un bouton “toggle” directement lié à une ligne. Mais quelques lignes de code suffisent pour créer ce comportement.
Le principe est simple : le bouton exécute une macro qui vérifie si la ligne est visible. Si elle l’est, la macro la masque. Si elle est masquée, la macro la réaffiche. C’est exactement le genre de petite automatisation qui donne à un fichier Excel un côté beaucoup plus professionnel.
Préparer votre fichier Excel
Avant d’écrire la macro, il faut préparer le terrain. Rien de compliqué, mais il y a deux ou trois points à respecter.
Dans cet exemple, on va travailler avec une seule ligne. Supposons que vous voulez masquer ou afficher la ligne 10 de la feuille active. Vous pourrez ensuite adapter le code à une autre ligne si besoin.
Créer le bouton dans Excel
Il existe plusieurs façons d’ajouter un bouton dans Excel. Pour une utilisation simple, le plus pratique reste souvent une forme ou un bouton de formulaire. C’est visuel, rapide à mettre en place, et facile à utiliser pour n’importe quel utilisateur.
Voici la méthode classique :
Si vous utilisez une forme, vous pourrez ensuite lui attribuer une macro. C’est souvent plus esthétique qu’un bouton standard, surtout dans un fichier de présentation ou un tableau de bord. Et soyons honnêtes : un bouton propre, c’est plus agréable qu’un objet qui ressemble à un vestige des années 2000.
Ajouter la macro VBA pour masquer et afficher la ligne
Passons au cœur du sujet. Ouvrez l’éditeur VBA avec Alt + F11, puis insérez un nouveau module via Insertion > Module. Collez ensuite ce code :
Sub AfficherMasquerLigne() Dim ligneCible As Range Set ligneCible = Rows(10) If ligneCible.Hidden = True Then ligneCible.Hidden = False Else ligneCible.Hidden = True End IfEnd Sub
Ce code est volontairement simple. La ligne ciblée est la ligne 10. La macro vérifie l’état de la propriété Hidden. Si elle est déjà masquée, elle la rend visible. Sinon, elle la masque.
En d’autres termes, chaque clic sur le bouton inverse l’état de la ligne. C’est exactement ce qu’on veut pour un système d’affichage/masquage pratique.
Associer la macro au bouton
Une fois la macro créée, il faut la relier au bouton.
Si vous avez inséré un bouton de formulaire :
Si vous avez utilisé une forme :
À partir de là, le bouton est opérationnel. Un clic, et la ligne 10 bascule entre visible et masquée. Simple, rapide, efficace.
Personnaliser la ligne cible
Le code ci-dessus cible la ligne 10, mais vous pouvez adapter cette valeur très facilement. Si vous voulez masquer la ligne 18, remplacez simplement :
Set ligneCible = Rows(10)
par :
Set ligneCible = Rows(18)
Vous pouvez aussi viser plusieurs lignes d’un coup. Par exemple :
Set ligneCible = Rows("10:12")
Dans ce cas, les lignes 10 à 12 seront affichées ou masquées ensemble. C’est très pratique pour regrouper une section complète d’un tableau.
Et si vous voulez cibler une feuille précise au lieu de la feuille active, vous pouvez faire mieux encore :
Sub AfficherMasquerLigne() Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets("Feuil1") If ws.Rows(10).Hidden = True Then ws.Rows(10).Hidden = False Else ws.Rows(10).Hidden = True End IfEnd Sub
Cette version est plus robuste, car elle évite les surprises si l’utilisateur change de feuille avant de cliquer sur le bouton.
Afficher un texte différent selon l’état de la ligne
Si vous voulez aller un peu plus loin, vous pouvez même modifier le texte du bouton en fonction de l’état de la ligne. Par exemple, le bouton peut afficher “Masquer la ligne” quand la ligne est visible, puis “Afficher la ligne” quand elle est cachée.
Voici une version plus évoluée :
Sub BasculerLigneEtTexte() Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets("Feuil1") If ws.Rows(10).Hidden = True Then ws.Rows(10).Hidden = False ws.Shapes("Bouton 1").TextFrame.Characters.Text = "Masquer la ligne" Else ws.Rows(10).Hidden = True ws.Shapes("Bouton 1").TextFrame.Characters.Text = "Afficher la ligne" End IfEnd Sub
Attention ici à un point important : le nom de la forme doit correspondre exactement à celui du bouton dans Excel. Vous pouvez le vérifier dans le volet de sélection ou en renvoyant au nom affiché dans les propriétés de l’objet.
Cette petite amélioration rend l’expérience plus intuitive. L’utilisateur voit immédiatement l’action disponible. Et dans un fichier partagé, ce genre de détail change tout.
Éviter les erreurs courantes
Quand on débute avec VBA, quelques pièges reviennent souvent. Rien de dramatique, mais autant les connaître tout de suite.
Oui, la dernière est importante. Une ligne peut sembler invisible à cause d’un filtre, mais ce n’est pas la même chose qu’une ligne masquée via la propriété Hidden. Pour votre macro, il vaut mieux travailler dans un contexte clair, sans filtre actif sur la plage concernée.
Une alternative sans VBA : le groupement de lignes
Si vous ne voulez pas utiliser de macro, Excel propose une alternative intéressante : le groupement de lignes. Ce n’est pas exactement un bouton “programmable”, mais cela permet aussi d’afficher ou masquer une section.
Pour cela :
Excel ajoute alors un petit bouton “+” ou “-” dans la marge pour développer ou réduire le groupe. C’est pratique, mais moins flexible qu’un vrai bouton personnalisé. Si vous voulez un fichier plus interactif, avec un libellé explicite et un comportement précis, la solution VBA reste plus adaptée.
Exemple d’usage concret dans un tableau de suivi
Prenons un cas très courant : un tableau de suivi de budget. Vous affichez les dépenses principales à l’écran, et vous cachez une ligne dédiée aux calculs intermédiaires. Grâce au bouton, vous pouvez montrer cette ligne seulement quand vous vérifiez les chiffres.
Autre cas : un tableau de planning. Vous souhaitez masquer une ligne contenant des notes internes, visibles uniquement par le gestionnaire du fichier. Avec un bouton, l’utilisateur peut la faire apparaître ponctuellement sans modifier la structure du document.
Ce type de mécanique a un avantage précieux : vous gardez un fichier lisible tout en conservant toute l’information utile. Pas besoin de multiplier les onglets ou de créer des versions différentes du même tableau.
Petites améliorations pour un rendu plus pro
Si vous aimez les fichiers Excel bien finis, voici quelques idées pour améliorer encore votre bouton :
Vous pouvez aussi combiner cette logique avec d’autres actions. Par exemple, masquer une ligne et afficher un message, ou basculer plusieurs zones en même temps. Une fois la base en place, les possibilités sont nombreuses.
Le code à retenir
Si vous voulez une version rapide à réutiliser, voici le plus simple :
Sub AfficherMasquerLigne() With Rows(10) .Hidden = Not .Hidden End WithEnd Sub
Ce code fait exactement la même chose en encore plus compact. La ligne 10 change d’état à chaque clic. C’est élégant, lisible, et facile à adapter.
Il suffit ensuite d’affecter cette macro à un bouton, et le tour est joué.
Affichez ou masquez une ligne avec un bouton dans Excel, ce n’est pas seulement une astuce pratique. C’est une vraie manière d’améliorer l’ergonomie d’un fichier, de réduire le bruit visuel et de guider l’utilisateur vers l’essentiel. Et comme souvent dans Excel, quelques lignes de code bien pensées peuvent faire gagner beaucoup de temps.
Si vous travaillez régulièrement sur des tableaux de bord, des suivis ou des modèles partagés, cette technique mérite clairement une place dans votre boîte à outils. Elle est simple à mettre en place, facile à personnaliser et suffisamment souple pour s’adapter à beaucoup de cas réels.
