Bonsoir,
Voilà ce qu'il en est. Ta colonne A est au format Texte, cependant je suppose que tu as dû d'abord insérer tes valeurs de code dans la colonne, puis passer ensuite la colonne au format Texte... ?
Or ce format a une particularité qui exige quelques précautions d'emploi : que ce soit lorsqu'on met le format ou lorsqu'on l'enlève, celui-ci paraît faire son effet (quand on le met les valeurs se cadrent à gauche, lorsqu'on l'enlève, à droite, si ce sont des valeurs numériques) mais en réalité ce n'est pas le cas, il n'affecte pas les valeurs déjà insérées dans les cellules, et ne fait son effet que si l'on édite le contenu de chaque cellule pour revalider à nouveau son insertion.
Ce qui fait que le filtre en les traitant textuellement s'avérait inopérant au départ, et pour qu'il fonctionne il me fallait filtrer ces valeurs en tant que nombres...
J'ai donc procédé à une réaffectation de la colonne en convertissant en texte le contenu de chaque cellule (par macro).
Ceci fait le filtre peut fonctionner normalement.
Vois comment ça fonctionne sur la 2e feuille. La zone de critères occupe la plage A1:A3., elle te permet de définir 2 critères simultanés (si tu n'en veux qu'un, dans l'immédiat, il faudra le répéter sur les deux lignes, et si tu veux vider le résultat du filtre, tu mets comme critères des valeurs n'existant pas dans ta colonne A, des espaces par exemple...)
Le filtre avancé fait partie de rares fonctionnalités Excel qu'il est plus rapide de réaliser en VBA que manuellement. J'ai donc établi une procédure de filtrage, rattachée à un bouton qui te permet de tester.
Sub Filtrer()
Dim Plg As Range
Set Plg = Worksheets("Feuil1").Range("A1").CurrentRegion
With ActiveSheet
.Range("A5").CurrentRegion.Offset(1).ClearContents
Plg.AdvancedFilter xlFilterCopy, .Range("A1:A3"), .Range("A5:B5")
End With
End Sub
Si ce système t'intéresse, il peut être amélioré selon la façon dont tu souhaiteras l'utiliser...
Cordialement.