Comment masquer des colonnes en temps réel en fonction de la saisie de l’utilisateur dans Excel ?
Masquer des colonnes dans Excel est une tâche courante, mais avez-vous déjà envisagé de les masquer automatiquement en fonction de certaines valeurs saisies ? Par exemple, lorsqu’on entre le texte « AA » dans une cellule, la colonne A disparaît ; en tapant « BB », les colonnes B et C sont masquées ; avec « CC », ce sont les colonnes D et E qui s’effacent ; et enfin, la saisie de « DD » entraîne le masquage de la colonne F, comme illustré dans la démonstration ci-dessous. Cet article vous propose un code VBA pour automatiser ce scénario dans Excel.
Utiliser un code VBA pour masquer ou afficher des colonnes en temps réel selon la saisie de l’utilisateur
Pour masquer les Spécifier la colonne en temps réel en fonction des valeurs saisies, appliquez le code VBA ci-dessous :
1. Dans la feuille de calcul où vous souhaitez masquer des colonnes, cliquez avec le bouton droit sur l’onglet de la feuille, puis sélectionnez « Afficher le code » dans le menu contextuel (voir capture d’écran).

2. Dans la fenêtre « Microsoft Visual Basic pour Applications » qui s’ouvre, copiez et collez le code VBA suivant dans la fenêtre « Feuille (Code) ».
Code VBA : Masquer des colonnes en temps réel selon la saisie de l’utilisateur
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Updateby ExtendOffice
xcell = Range("K1").Value
Select Case xcell
Case "AA": Columns("A").EntireColumn.Hidden = False
Columns("A").EntireColumn.Hidden = True
Case "BB": Columns("B:C").EntireColumn.Hidden = False
Columns("B:C").EntireColumn.Hidden = True
Case "CC": Columns("D:E").EntireColumn.Hidden = False
Columns("D:E").EntireColumn.Hidden = True
Case "DD": Columns("F").EntireColumn.Hidden = False
Columns("F").EntireColumn.Hidden = True
Case Else
Columns("A:G").EntireColumn.Hidden = False
End Select
End Sub
- Cas « AA » : Columns(«A»).EntireColumn.Hidden = False
- Columns(«A»).EntireColumn.Hidden = True

3. Fermez ensuite la fenêtre de code. Désormais, dès que vous saisissez « AA » dans la cellule K1 et appuyez sur la touche « Entrée », la colonne A disparaît ; en entrant « BB » puis en validant avec « Entrée », les colonnes B et C s’effacent à leur tour, et ainsi de suite. Si vous saisissez une autre valeur ou effacez le contenu, les colonnes masquées réapparaissent instantanément, comme le montre la démonstration ci-dessous :
Utiliser un code VBA pour masquer ou afficher certaines colonnes en fonction de la saisie de l’utilisateur
Dans cet exemple, je vais filtrer une plage de données en fonction du nom de produit saisi. Dès que je tape « Hoodie », seules les informations relatives au Hoodie s’affichent, tandis que les autres colonnes sont masquées instantanément ; et dès que je saisis « All », toutes les colonnes réapparaissent, comme illustré dans la démonstration ci-dessous :
1. Dans la feuille de calcul où vous souhaitez masquer des colonnes, cliquez avec le bouton droit sur l’onglet de la feuille, puis sélectionnez « Afficher le code » dans le menu contextuel (voir capture d’écran).

2. Dans la fenêtre « Microsoft Visual Basic pour Applications » qui s’ouvre, copiez et collez le code VBA suivant dans la fenêtre « Feuille (Code) ».
Code VBA : Masquer ou afficher des colonnes pour filtrer les données selon la saisie de l’utilisateur
Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby ExtendOffice
Dim x As Variant, y As String
If Target.Address = "$K$1" Then
y = Target.Value
With Range("B1:H1")
Application.ScreenUpdating = False
.EntireColumn.Hidden = (y <> "All")
If y <> "All" Then
For Each x In .Cells
If x = y Then x.EntireColumn.Hidden = False
Next
End If
Application.ScreenUpdating = True
End With
End If
End Sub
3. Fermez ensuite la fenêtre de code. Désormais, dès que vous saisissez le nom d’un produit dans la cellule K1, seules les colonnes correspondantes s’affichent, les autres étant automatiquement masquées ; et si vous entrez le texte « All », toutes les colonnes réapparaissent, comme illustré dans la démonstration ci-dessous :
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels