KutoolsforOffice — Une solution unique, cinq outils puissants.Faire plus avec moins d'efforts.Soldes de mars : 20 % de réduction

Comment masquer des colonnes en temps réel en fonction de la saisie de l’utilisateur dans Excel ?

AuteurXiaoyang Date de modification

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

Utiliser un code VBA pour masquer ou afficher certaines colonnes en fonction de la saisie de l’utilisateur


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).

Capture d’écran montrant comment ouvrir la fenêtre Visual Basic pour Applications dans Excel en cliquant avec le bouton droit sur l’onglet de feuille

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
Remarque : dans le code ci-dessus, « K1 » est la cellule dans laquelle vous saisissez le texte spécifique. Vous devez adapter le texte et les noms de colonnes selon vos besoins. En outre, vous pouvez ajouter d’autres critères simplement en insérant les scripts suivants :
  • Cas « AA » : Columns(«A»).EntireColumn.Hidden = False
  • Columns(«A»).EntireColumn.Hidden = True

Capture d’écran de la fenêtre de code VBA dans Excel avec le code collé pour masquer des colonnes en fonction de la saisie utilisateur

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).

Capture d’écran montrant comment ouvrir la fenêtre Visual Basic pour Applications dans Excel en cliquant avec le bouton droit sur l’onglet de feuille

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
Remarque : dans le code ci-dessus, « K1 » est la cellule dans laquelle vous saisissez le texte spécifique, et « B1:H1 » correspondent aux en-têtes de ligne contenant les noms de produits que vous souhaitez filtrer.

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

🤖Kutools IA Aide: Révolutionnez Analyse des données grâce à :Exécution intelligente   |  Générez du code|  Créez formules personnalisées  |  Analysez des données et générez des graphiques|  Appelez Fonctions améliorées
Fonctionnalités populaires:Rechercher, mettre en surbrillance ou Marquer les doublons   |  Supprimer les lignes vides   |  Combinez les colonnes ou cellules sans perdre de données   |   Arrondi sans utiliser de formule...
Super RECHERCHEV:RechercheValeurs avec critères multiples  |  RechercheValeurs avec valeurs multiples  |   RechercheValeurs dans plusieurs feuilles   |   Correspondance floue....
Liste déroulante avancée:Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple....
Gestionnaire de colonnes:Ajouter un nombre précis de colonnes|Déplacer des colonnes|Basculer la visibilité des colonnes masquées|Comparer des plages et des colonnes...
Fonctionnalités vedettes:Mise au point de la grille   |  Vue de conception   |Barre de formule améliorée   | Gestionnaire de classeurs et de feuilles   |  Bibliothèque de ressources(Texte automatique)|  Sélecteur de date   |  Consolider les feuilles de calcul  |  Chiffrer/Déchiffrer les cellules   | Envoyer des e-mails par liste   |  Super Filtre   |   Filtre spécial(Filtrer les cellules avec une police en gras/italique/barré...) ...
… et bien plus encore… et plus encore:(,)Supprimer des caractères spécifiques, ...)|   50+Typesde graphiques(, ...)|   40+ Formules pratiques(Calculer l'âge en fonction de la date de naissance, ...)|   19 Outils d’insertion(,Insérer une image depuis un chemin , ...)|   de conversion (Convertir en mots,Conversion de devises, ...)|Fusionner et scinder   (Fusion avancée des lignes,Diviser les cellules , ...)|, ...)   |
Utilisez Kutools dans la langue de votre choix – disponible en anglais, espagnol, allemand, français, chinois et 40+ autres langues !

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.

ExcelWordOutlookTabsPowerPoint
  • 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