Accéder au contenu principal

Comment filtrer automatiquement les lignes en fonction de la valeur d'une cellule dans Excel ?

Author: Xiaoyang Last Modified: 2025-08-06

Dans Excel, la fonction de filtre standard offre un moyen rapide de filtrer des données en fonction des critères que vous sélectionnez manuellement. Cependant, dans certains flux de travail, vous pourriez souhaiter que vos données se mettent à jour automatiquement dès que vous saisissez une valeur ou une condition dans une cellule spécifique. Par exemple, si vous souhaitez que l'ensemble de données soit filtré instantanément en fonction d'un mot-clé ou d'un paramètre entré dans une autre cellule, cela dépasse les capacités natives de filtrage d'Excel. Ce type de filtre dynamique ou « auto-filtre » peut aider à rationaliser votre processus de révision des données, réduire le temps passé sur le filtrage manuel et augmenter la précision en liant directement les conditions de filtre aux valeurs des cellules. Si vous cherchez à mettre en œuvre un tel mécanisme de filtrage automatique basé sur la saisie dans une cellule, plusieurs solutions pratiques sont disponibles pour obtenir ce résultat.

Filtrer automatiquement les lignes en fonction de la valeur d'une cellule avec une solution de formule Excel

Filtrer automatiquement les lignes en fonction de la valeur de cellule saisie avec du code VBA


Filtrer automatiquement les lignes en fonction de la valeur d'une cellule avec une solution de formule Excel

Si vous préférez une approche sans macro ou devez éviter d'utiliser VBA en raison des paramètres de sécurité ou des préoccupations de collaboration, vous pouvez créer un effet d'« autofiltre » en utilisant une combinaison de formules et des fonctionnalités de filtrage intégrées dans Excel. Cette solution fonctionne bien pour Microsoft 365, Microsoft 2019 et les versions ultérieures qui prennent en charge les fonctions de tableau dynamique telles que FILTER. Elle est particulièrement adaptée pour être partagée avec des collègues qui n'ont peut-être pas activé les macros, ou pour des modèles légers où une automatisation sans installation est nécessaire.

1. Sélectionnez une cellule vide où vous souhaitez que vos résultats filtrés commencent (par exemple, placez votre curseur dans la cellule G2).

=FILTER(A2:C20, (A2:A20=E1) * (B2:B20=E2), "No match")

2. Après avoir entré la formule dans G2, appuyez sur Entrée. L'ensemble de données filtré apparaîtra dans une plage de débordement commençant à partir de la cellule G2. Lorsque vous modifiez les valeurs dans E1 ou E2, la liste filtrée se met à jour instantanément.

Cet exemple de formule suppose que vos données principales se trouvent dans A2:C20 et que les critères de filtre sont entrés dans E1 (correspondant à la colonne A) et E2 (correspondant à la colonne B). Si vous souhaitez filtrer par une seule colonne, vous pouvez simplifier la condition logique en conséquence. Le message « Pas de correspondance » apparaît s'il n'y a aucune ligne correspondant aux critères entrés.

Astuce : La fonction FILTER est disponible dans Microsoft 365 et certaines versions de Microsoft 19+. Pour les versions plus anciennes d'Excel, le filtrage dynamique via des formules est moins simple, et vous pourriez envisager des colonnes d'aide combinées avec le filtre AutoFilter traditionnel ou des fonctionnalités de filtre avancé. Vérifiez votre version pour assurer la compatibilité.

Lors de l'utilisation de cette solution, les résultats occupent une nouvelle zone de votre feuille de calcul, ce qui aide à préserver vos données brutes. Cependant, l'ensemble de données original reste inchangé — les filtres s'appliquent uniquement aux résultats affichés, pas à l'état d'affichage des données sources.

Erreurs potentielles : Si vous voyez une erreur #NOM? ou #DÉBORDEMENT!, vérifiez que vous utilisez une version compatible d'Excel et qu'il n'y a pas de cellules fusionnées dans la plage de résultats. De plus, évitez de placer d'autres données dans la zone de débordement de la formule pour éviter tout blocage.


Filtrer automatiquement les lignes en fonction de la valeur de cellule saisie avec du code VBA

Supposons que vous travailliez avec un ensemble de données et souhaitiez filtrer automatiquement les enregistrements en fonction de critères que vous tapez dans des cellules spécifiques. Par exemple, lorsque vous remplissez vos conditions souhaitées dans les cellules E1 et E2, les données sur la feuille de calcul sont filtrées automatiquement pour correspondre à ces valeurs, comme illustré ci-dessous :

a screenshot of filtering rows based on entered value in a cell

Pour automatiser le filtrage de cette manière, vous pouvez configurer une solution VBA simple. Cette méthode se déclenche chaque fois que vous mettez à jour la valeur dans vos cellules de filtre désignées. Elle est particulièrement utile pour les tableaux de bord, les rapports interactifs ou les modèles dans lesquels les utilisateurs s'attendent à un filtrage dynamique à partir de cellules de paramètres centrales.

1. Allez dans la feuille de calcul où vous souhaitez automatiser le filtrage des lignes en fonction des entrées saisies dans les cellules.

2. Faites un clic droit sur l'onglet de la feuille en bas de la fenêtre Excel et choisissez Afficher le code dans le menu contextuel. Dans la fenêtre Microsoft Visual Basic pour Applications qui apparaît, collez le code VBA suivant dans la grande zone vide (communément appelée fenêtre de code ou module de feuille de calcul), comme indiqué ici :

Code VBA : Filtrer automatiquement les données en fonction de la valeur de cellule saisie

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice 20160606
   If Target.Address = Range("E2").Address Then
       Range("A1:C20").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("E1:E2")
   End If
End Sub

a screenshot showing how to use the VBA code

Remarque : Dans ce code VBA, A1:C20 fait référence à votre plage de données à laquelle appliquer le filtre. E2 est la cellule où vous entrez la valeur de filtre (vos critères cibles), et E1:E2 sont les cellules utilisées comme conditions de filtre. Vous pouvez modifier ces plages selon vos besoins — assurez-vous qu'elles reflètent précisément l'emplacement de vos données et de vos critères de filtre pour la structure spécifique de votre feuille de calcul. De plus, il est préférable d'éviter les cellules fusionnées et de vous assurer que votre plage de données contient des en-têtes si nécessaire pour un filtrage précis.

3. Maintenant, entrez ou modifiez vos conditions de filtre dans les cellules E1 et/ou E2. Une fois que vous appuyez sur Entrée, le code VBA s'exécute automatiquement et filtre la plage de données désignée pour ne montrer que les lignes correspondant à vos critères d'entrée.

Si le filtre ne semble pas fonctionner immédiatement après avoir entré une valeur, assurez-vous que la fonctionnalité des macros est activée dans votre classeur, et vérifiez que les plages dans le code VBA correspondent correctement à la disposition actuelle de votre feuille de calcul. Dans des scénarios multi-utilisateurs, rappelez aux autres que les macros doivent être activées pour que cette fonctionnalité fonctionne correctement.

Cette méthode VBA est particulièrement avantageuse pour les tableaux de bord pilotés par des paramètres dynamiques, les modèles interactifs pour la saisie de données, ou tout scénario dans lequel l'application manuelle des critères de filtre serait inefficace. Cependant, notez que les utilisateurs peuvent rencontrer des problèmes s'ils désactivent les macros, et les solutions basées sur VBA sont spécifiques au fichier dans lequel le code est ajouté.

Si votre scénario nécessite des changements fréquents de critères par plusieurs utilisateurs ayant des paramètres de sécurité Excel variables, ou si vous prévoyez de partager largement votre fichier, vous pourriez envisager des solutions alternatives basées sur des formules ou des compléments Excel.


Démo : Filtrer automatiquement les lignes en fonction de la valeur de cellule saisie avec du code VBA

 

Filtrer les données par plusieurs critères ou d'autres conditions spécifiques, telles que par longueur de texte, par sensibilité à la casse, etc.

Lorsque vous avez besoin d'effectuer des opérations de filtrage avancées — comme combiner plusieurs critères de filtre, filtrer par la longueur du texte, par sensibilité à la casse ou filtrer en fonction de périodes spécifiques — les filtres natifs d'Excel peuvent être insuffisants. Dans de tels scénarios, la fonction Super Filtre de Kutools pour Excel fournit un moyen pratique de gérer facilement et efficacement des exigences de filtrage complexes. Cette fonction vous permet de :

  • Appliquer plusieurs critères sur plusieurs colonnes ; Filtrer les données par le nombre de caractères dans une cellule ;
  • Filtrer par texte en majuscules ou minuscules ; Filtrer les données en fonction de l'année, du mois, du jour, de la semaine ou du trimestre

a screenshot of using Kutools for Excel to filter date by multiple criteria

Kutools pour Excel : Équipé de plus de 300 compléments Excel pratiques, essai gratuit complet pendant 30 jours. Téléchargez et essayez gratuitement maintenant !


Meilleurs outils de productivité Office

🤖 Kutools AI Aide : Révolutionnez l'analyse de données grâce à : Exécution intelligente   |  Générer du code  |  Créer des Formules personnalisées  |  Analyser des données et générer des graphiques  |  Appeler les Fonctions améliorées
Fonctionnalités populaires : Trouver, mettre en évidence ou marquer les doublons   |  Supprimer les lignes vides   |  Combiner les colonnes ou cellules sans perdre de données   |  Arrondir...
Super RECHERCHEV : Recherche multi-critères    Recherche multi-valeurs  |   Recherche multi-feuilles   |   Correspondance floue ....
Liste déroulante avancée : Créer rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante avec sélection multiple ....
Gestionnaire de colonnes : Ajouter un nombre spécifique de colonnes  |  Déplacer des colonnes  |  Basculer l’état de visibilité des colonnes masquées  |  Comparer les plages & colonnes ...
Fonctionnalités à la une : Mise au point de la grille   |  Affichage de conception   |   Barre de formule améliorée    Gestionnaire de classeur & de feuille de calcul   |  Bibliothèque dAutoTexte (Auto Text)   |  Sélecteur de date   |  Fusionner les données   |  Chiffrer/Déchiffrer les cellules    Envoyer un e-mail par liste   |  Super Filtre   |   Filtre spécial (filtrer les cellules avec une police en gras/italique/barré...) ...
Top15 des ensembles d’outils12 outils de texte (Ajouter du texte, Supprimer des caractères spécifiques, ...)   |   Plus de50 types de graphiques (Diagramme de Gantt, ...)   |   Plus de40 formules intelligentes (Calculer lâge en fonction de la date de naissance, ...)   |   19 outils dinsertion (Insérer un code QR, Insérer une image depuis le chemin, ...)   |  12 outils de conversion (Convertir en mots, Conversion de devises, ...)   |  7 outils de fusion & division (Fusion avancée des lignes, Diviser les cellules, ...)   |   ... et bien plus encore
Utilisez Kutools dans votre langue préférée: compatible avec l’anglais, l’espagnol, l’allemand, le français, le chinois et plus de40 autres langues !

Dynamisez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité la plus essentielle pour vous...


Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail

  • Activez la modification 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, au lieu d’ouvrir de nouvelles fenêtres.
  • Augmentez votre productivité de50% et réduisez des centaines de clics de souris chaque jour!