Comment filtrer automatiquement des lignes en fonction de la valeur d’une cellule dans Excel ?
Dans Excel, la fonction **Filtre standard** permet de filtrer rapidement vos données selon des critères que vous sélectionnez manuellement. Cependant, dans certains flux de travail, vous souhaiterez peut-être que vos données soient **actualisées automatiquement** dès que vous saisissez une valeur ou une condition dans une cellule spécifique. Par exemple, imaginez pouvoir filtrer instantanément l’ensemble de votre jeu de données en fonction d’un mot-clé ou d’un paramètre entré dans une autre cellule. Cette capacité dépasse les fonctionnalités natives d’Excel. Un tel **filtrage dynamique** — souvent appelé « filtrage automatique » — peut considérablement rationaliser votre analyse, réduire le temps passé à filtrer manuellement et améliorer la précision en reliant directement les **conditions de filtre** aux **valeurs des cellules**. Si vous souhaitez mettre en place ce type de mécanisme de filtrage automatique déclenché par la saisie dans une cellule, plusieurs solutions pratiques s’offrent à vous pour y parvenir.
Filtrer automatiquement des lignes selon la valeur d’une cellule à l’aide d’une formule Excel
Filtrer automatiquement des lignes selon la valeur saisie dans une cellule à l’aide d’un code VBA
Filtrer automatiquement des lignes selon la valeur d’une cellule à l’aide d’une formule Excel
Si vous préférez une approche sans macro ou si des paramètres de sécurité ou des contraintes collaboratives vous empêchent d’utiliser VBA, créez un effet de « filtrage automatique » en combinant des formules avec les fonctions de filtrage intégrées à Excel. Cette solution est particulièrement adaptée à Microsoft 365, Microsoft 2019 et aux versions ultérieures prenant en charge les fonctions de tableau dynamique telles que FILTRER. Idéale pour partager des fichiers avec des collègues dont les macros sont désactivées, elle convient aussi parfaitement à des modèles légers nécessitant une automatisation sans installation.
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 saisi la formule en G2, appuyez sur Entrée. Le jeu de données filtré s’affiche dans une plage dynamique à partir de la cellule G2 et s’actualise instantanément dès que vous modifiez les valeurs en E1 ou E2.
Cet exemple de formule suppose que vos données principales se trouvent en A2:C20 et que les conditions de filtrage sont saisies en E1 (colonne A correspondante) et E2 (colonne B correspondante). Si vous souhaitez filtrer selon une seule colonne, vous pouvez simplifier la condition logique en conséquence. Le message « Aucune correspondance » s’affiche si aucune ligne ne correspond aux critères saisis.
Conseil : La fonction FILTRER est disponible dans Microsoft 365 et certaines versions d’Excel 2019 et ultérieures. Si vous utilisez une version antérieure, le filtrage dynamique via des formules est moins direct : envisagez alors d’utiliser des colonnes auxiliaires combinées aux fonctions Filtre automatique ou Filtre avancé. Vérifiez votre version pour garantir la compatibilité.
Lorsque vous utilisez cette solution, les résultats s’affichent dans une nouvelle zone de votre feuille de calcul, préservant ainsi vos données brutes. Le jeu de données d’origine reste toutefois inchangé : les filtres ne s’appliquent qu’aux résultats affichés et non à l’état d’affichage des Données source.
Erreurs possibles : Si vous voyez une erreur #NOM? ou #DÉBORD!, vérifiez que vous utilisez une version d’Excel compatible et qu’aucune cellule fusionnée ne se trouve dans la plage de résultats. Évitez également de placer d’autres données dans la zone de débordement de la formule pour éviter tout blocage.
Filtrer automatiquement des lignes selon la valeur saisie dans une cellule à l’aide d’un code VBA
Supposons que vous travailliez avec un jeu de données et que vous souhaitiez filtrer automatiquement les enregistrements en fonction de critères saisis dans des cellules spécifiques. Par exemple, dès que vous entrez vos conditions dans les cellules E1 et E2, les données de la feuille sont instantanément filtrées pour correspondre à ces valeurs, comme illustré ci-dessous :

Pour automatiser le filtrage de cette façon, configurez une solution VBA simple. Cette méthode se déclenche automatiquement à chaque modification des valeurs dans vos cellules de filtrage désignées, idéale pour les tableaux de bord, les rapports interactifs ou les modèles où les utilisateurs s’attendent à un filtrage dynamique depuis des cellules centrales de paramétrage.
1. Accédez à la feuille de calcul sur laquelle vous souhaitez automatiser le filtrage des lignes en fonction des valeurs saisies dans les cellules.
2. Cliquez avec le bouton droit sur l’onglet de la feuille en bas de la fenêtre Excel, puis choisissez Afficher le code dans le menu contextuel. Dans la fenêtre Microsoft Visual Basic pour Applications qui s’ouvre, collez le code VBA suivant dans la grande zone vide (communément appelée fenêtre de code ou module de feuille), comme illustré ici :
Code VBA : Filtrer automatiquement les données selon 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

Remarque : Dans ce code VBA, A1:C20 fait référence à votre plage de données sur laquelle appliquer le filtre. E2 est la cellule dans laquelle vous saisissez la valeur de filtrage (vos critères cibles), et E1:E2 sont les cellules utilisées comme conditions de filtre. Vous pouvez adapter ces plages selon vos besoins : assurez-vous qu’elles correspondent exactement à l’emplacement de vos données et de vos conditions de filtrage dans la structure spécifique de votre feuille. Il est également conseillé d’éviter les cellules fusionnées et de veiller à ce que votre plage de données contienne des en-têtes si nécessaire pour un filtrage précis.
3. Saisissez ou modifiez dès maintenant vos conditions de filtre dans la cellule E1 et/ou E2. Dès que vous appuyez sur Entrée, le code VBA s’exécute automatiquement et filtre la plage de données désignée pour n’afficher que les lignes correspondant à vos critères.
Si le filtre ne semble pas fonctionner immédiatement après la saisie d’une valeur, vérifiez que les macros sont activées dans votre classeur et que les plages définies dans le code VBA correspondent exactement à la disposition de votre feuille de calcul actuelle. Dans les environnements multi-utilisateurs, n’oubliez pas de rappeler à chacun que l’activation des macros est indispensable au bon fonctionnement de cette fonctionnalité.
Cette méthode VBA s’avère particulièrement avantageuse pour les tableaux de bord dynamiques pilotés par des paramètres, les modèles interactifs de saisie de données ou toute situation où la réapplication manuelle des conditions de filtrage serait inefficace. Notez toutefois que les utilisateurs peuvent rencontrer des problèmes s’ils désactivent les macros, et que les solutions fondées sur VBA sont spécifiques au fichier dans lequel le code est intégré.
Si votre scénario implique des modifications fréquentes des critères par plusieurs utilisateurs dotés de paramètres de sécurité Excel variés, ou si vous prévoyez un partage étendu de votre fichier, privilégiez plutôt des solutions alternatives fondées sur des formules ou des compléments Excel.
Démo : Filtrer automatiquement des lignes selon la valeur saisie dans une cellule à l’aide d’un code VBA
Filtrez les données selon plusieurs critères ou toute autre condition spécifique, tels que la longueur du texte, la sensibilité à la casse, etc. Lorsque vous devez effectuer des opérations de filtrage plus avancées — comme combiner plusieurs conditions de filtrage, filtrer selon la longueur du texte, tenir compte de la casse ou appliquer des filtres sur des périodes précises — les filtres intégrés d’Excel peuvent vite devenir insuffisants. Dans ces cas, le Super Filtre de Kutools pour Excel propose une solution pratique pour gérer facilement et efficacement des exigences de filtrage complexes. Cette fonctionnalité vous permet de :
Kutools pour Excel: Équipé de plus de 300 compléments Excel pratiques, essai gratuit et entièrement fonctionnel pendant 30 jours.Téléchargez et essayez gratuitement dès maintenant ! |
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
