Afficher des lignes si valeur d'1 de ses cellules app. plage

Bonjour

Je souhaite n'afficher que certaines lignes de mon tableau Excel selon si elle répond à un critère.

En colonne 1, j'ai un ensemble de valeurs, ces nombres peuvent arriver plusieurs fois (cf pj).

Par ailleurs j'ai isolé l'ensemble des valeurs qui m'intéressent (dans la pj en feuille de calcul 2).

Ce que je souhaite faire, c'est n'afficher que les lignes dont la cellule en colonne A répond à la plage définie en feuille 2 (par exemple, si j'ai 1 et que 1 n'apparait pas dans ma plage en feuille 2, je n'affiche aucune ligne pour laquelle la cellule en colonne A est 1, inversement si 2 est dans ma liste en feuille 2, je veux afficher toutes les lignes pour lesquelles j'ai 2 en colonne A.

Travaillant sur des gros volumes, je ne peux pas le faire manuellement.

J'espère avoir été clair...

Désolé si le sujet a déjà été traité, je n'ai rien vu en ce sens.

Merci d'avance pour votre aide.

16exple.xlsx (28.35 Ko)

Bonjour,

Tu mets une ligne d'en-tête, et tu filtres selon les valeurs que tu veux...

comme je le disais, je travaille sur des volumes qui ne me permettent pas de le faire manuellement. ça serait trop simple

J'ai 280 valeurs qui m'intéressent, et je dois les retrouver parmi 27 000 lignes...

Pour rebondir sur l'idée des filtres et pour expliquer autrement mon problème : le top serait de pouvoir filtrer non pas en renseignant des valeurs, mais une plage de cellules

Bonjour.

A ma connaissance on ne peut pas filtrer sur une plage... solution avec les filtres : ajouter une colonne avec

=SI(ESTERREUR(RECHERCHEV(LeCode;LaPlageDesCodesPertinents;1;FAUX));"Non pertinent";"Pertinent")

Et ensuite filtrer sur cette colonne.

Peut-être que quelqu'un aura une idée plus classe (je suis spécialiste des ruses peu élaborées )

Bonne journée.

Ce n'est pas insurmontable !

Voilà une procédure bâtie sur ton exemple, dont tu pourras t'inspirer :

Sub Filtrer()
    Dim flt(), i%, n%
    With Worksheets("Feuil2")
        n = .Cells(.Rows.Count, 1).End(xlUp).Row
        ReDim flt(n - 1)
        For i = 1 To n
            flt(i - 1) = CStr(.Cells(i, 1))
        Next i
    End With
    With Worksheets("Feuil1")
        n = .Cells(.Rows.Count, 1).End(xlUp).Row
        .Range("A1:A" & n).AutoFilter 1, "<>"
        .Range("A1:A" & n).AutoFilter 1, flt, xlFilterValues
    End With
End Sub

Bouh ! Du VBA ! Au bûcher !

Ce message vous était offert par le comité de protection des formules Excel. Merci de votre attention.

Je partage lorsqu'il s'agit de mettre des formules mais là c'est pas formules !

Merci beaucoup pour votre aide et votre réactivité, vous êtes au top !

J'ai utilisé la solution avec la formule qui s'est avérée simple et efficace

(le site buguait, je n'arrivais pas à poster mes remerciements)

Rechercher des sujets similaires à "afficher lignes valeur app plage"