Filtrer une liste en fonction d'une chaîne de caractères

Bonjour à tous !

Je suis peut-être un peu bêta (ou disons : inexpérimenté), mais je n'arrive pas à réaliser un truc qui devrait être simple (voir fichier joint).

Je voudrais pouvoir filtrer une liste (un répertoire de noms) selon que les noms contiennent ou pas une chaîne de caractères spécifiée par l'utilisateur en L1C3.

Y a kekchose que je dois mal comprendre dans le fonctionnement des filtres élaborés : je n'arrive à rien !

Help !

192exemple-5.xls (13.50 Ko)

salut,

est ce que ca repond à ta demande ?

510exemple-5.xls (13.50 Ko)

Bonsoir à tous,

Règle de base sur un filtre élaboré:

mêmes en-têtes sur les 3 champs (Base; Critères; Extraction)

Amicalement

Claude

403gloub-filtre.zip (14.70 Ko)

@Beuret :

Merci pour ta réponse. Ça marche en effet, mais comme le but pour moi est de n'afficher qu'une partie ciblée d'une grande liste, la fonction filtre est beaucoup plus appropriée parce qu'en plus de filtrer, elle compacte la liste après filtrage, ce qui donne une lisibilité impeccable.

@Claude :

Merci pour ta réponse, qui me va bien dans son principe.

En revanche, je suis étonné de l'ergonomie de la fonction filtre. J'imaginais qu'il suffisait de changer le critère pour que le filtre se mette à jour.

Y aurait-t-il un moyen pour que le filtre s'applique dès que du texte est tapé dans la zone de critères, et cesse de s'appliquer quand cette zone est vide ?

Merci.

bonjour,

C'était pour te montrer les bases !

Il te suffit de mettre 1 des 2 codes dans un Private Sub de la feuille

exemple pour filtre sur place

Private Sub Worksheet_Change(ByVal Target As Range)
''Macros par Claude Dubois pour "gloub" Excel-Pratique le 8/03/10
    If Not Application.Intersect(Target, Range("c3")) Is Nothing Then
        Range("c5:c50").AdvancedFilter Action:=xlFilterInPlace, _
        CriteriaRange:=Range("c2:c3"), Unique:=False
    End If
End Sub

Claude

Merci beaucoup pour ta réponse : ça marche impec !

En revanche, j’essaie sans succès d’adapter le code à mon fichier (où le filtre s’applique sur la colonne 6 et non sur la 3 comme dans le fichier joint).

Je ne comprends pas ce qui cloche (j’ai ajouté 3 à toutes les adresses : c3 → c6, c5 → c8, etc…).

Help !

re,

Je ne comprends pas ce qui cloche (j’ai ajouté 3 à toutes les adresses : c3 → c6, c5 → c8, etc…).

çà n'a rien à voir !

tu devrais réviser avec l'aide Excel sur les filtres

Range("c5:c50") c'est la plage à filtrer en-têtes comprises

Range("c3") c'est la cellule qui déclenche l'événement (là où tu tape le nom)

Range("c2:c3") c'est la plage de critère

Pas sorcier quand même !

Claude

Oooooooooouuuuuuuuuuuuupppppppppppppppppppppssssssssssssssssssss !!!

J'ai confondu les adresses en style L1C1 (dont je me sers toujours) et en style A1.

Maintenant tout est clair, et j'ai même pas besoin de réviser !

Merci beaucoup.

Bonjour,

J'ai lu les précédents posts mais je n'arrive pas au résultat voulu !!!

Je m'explique : j'aimerais filtrer à l'aide d'une macro comme dans les exemples joint dans le post. Pour ma part, j'aimerais afficher la ligne complète de mon tableau excel et afficher le résultat sans appuyer sur un bouton (affichage à la volée).

Pourriez-vous me venir en aide.

Merci

Bonjour,

j'aimerais afficher la ligne complète de mon tableau excel

Je ne comprends pas ta demande.

Tu pourrais poster un classeur en commentant ta demande ?

et afficher le résultat sans appuyer sur un bouton (affichage à la volée)

Tu veux un filtre qui se déclenche tout seul ?

Ça je ne sais pas faire.

Bonne journée.

Rechercher des sujets similaires à "filtrer liste fonction chaine caracteres"