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-07-21

Dans Excel, la fonction de filtre standard offre un moyen rapide de filtrer des données selon des critères que vous sélectionnez manuellement. Cependant, dans certains flux de travail, vous pourriez souhaiter que vos données se rafraîchissent 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 immédiatement filtré en fonction d'un mot-clé ou d'un paramètre que vous entrez dans une autre cellule, cela dépasse les capacités de filtrage natives 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 d'auto-filtrage basé sur l'entrée d'une cellule, plusieurs solutions pratiques sont disponibles pour atteindre 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 saisie dans une cellule 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 liées à la collaboration, vous pouvez créer un effet de "filtre automatique" en combinant des formules et des fonctions 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 convient particulièrement pour partager 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 par 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 filtrage 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 avancées de filtre. 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. Toutefois, l'ensemble de données d'origine reste inchangé — les filtres s'appliquent uniquement aux résultats affichés, et non au statut 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 les blocages.


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

Supposons que vous travailliez avec un ensemble de données et souhaitiez filtrer les enregistrements automatiquement en fonction de critères que vous saisissez dans des cellules spécifiques. Par exemple, lorsque vous remplissez vos conditions souhaitées dans les cellules E1 et E2, les données de la feuille de calcul sont automatiquement filtrées 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 centraux.

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 for 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 saisie dans une cellule

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 à filtrer. E2 est la cellule où vous saisissez 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 avec précision l'emplacement de vos données et des 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, saisissez 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 saisi 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 présente un avantage particulier 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 une ré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 peut-être des paramètres de sécurité Excel variables, ou si vous prévoyez de partager votre fichier largement, 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 saisie dans une cellule avec du code VBA

 

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

Lorsque vous avez besoin d'effectuer des opérations de filtrage plus avancées — telles que combiner plusieurs critères de filtre, filtrer par la longueur du texte, la 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 des données par le nombre de caractères dans une cellule ;
  • Filtrer par texte en majuscules ou minuscules ; Filtrer des 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 modules complémentaires pratiques pour Excel, essai gratuit entièrement fonctionnel pendant 30 jours. Télécharger et essayer gratuitement maintenant !


Meilleurs outils de productivité pour Office

🤖 Kutools AI Aide : Révolutionner l'analyse des données basée sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les Fonctions améliorées
Fonctionnalités populaires : Trouver, mise en évidence ou marquer les doublons   |  Supprimer les lignes vides   |  Consolider les colonnes ou les cellules sans perdre de données   |   Arrondir sans formule ...
Super RECHERCHEV : RECHERCHEV avec critères multiples    RECHERCHEV avec valeurs multiples  |   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 multi-sélection ....
Gestionnaire de colonnes : Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages & colonnes ...
Fonctionnalités en vedette : Mise au point de la grille   |  Affichage de conception   |   Barre de formule améliorée    Gestionnaire de classeur & feuille de calcul   |  Bibliothèque dAutoTexte (Auto Text)   |  Sélecteur de date   |  Fusionner les données   |  Crypter/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 ensembles d'outils12 outils de texte (Ajouter du texte, Supprimer des caractères spécifiques, ...)   |   50+ types de graphiques (Diagramme de Gantt, ...)   |   40+ formules pratiques (Calculer lâge en fonction de la date de naissance, ...)   |   19 outils d'insertion (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 plus

Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la 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 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, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de50 %, et réduit des centaines de clics de souris pour vous chaque jour !