Filtrer un tableau à partir d'une donnée

Bonjour à tous,

Je débute dans VBA et dès mon premier sujet à traiter, je coince... et pourtant je pense que c'est assez simple

Je m'explique:

J'aimerais pouvoir filtrer un tableau à partir de n'importe quelle donnée contenue dans une cellule.

exemple

En cliquant sur un bouton filtre, j'aimerais pouvoir entrer n'importe quelle donnée, comme par exemple "scan", et que ça m'affiche toutes les lignes où le mot "scan" apparait. Pour que je puisse savoir qui a fait un scan et quelle semaine.

Je ne sais pas si c'est très clair, mais ça me serait vraiment d'une grande aide.

Je remercie par avance celles et ceux qui auront eu le courage de me lire.

Bonne soirée

Bonsoir Chinodeoro et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire :
- La charte du forum
- Quelques fonctionnalités du forum à connaître
qui vous aideront dans vos demandes et réponses sur ce forum.

Regardez aussi les petites icônes mises à votre disposition dans la barre de menu qui :
- vous permettent de poster un code (</>)
- ou de clôturer un fil lorsque vous avez terminé (V)

Concernant votre demande, à moins de créer une colonne qui serait la concaténation de toutes les colonnes, ce n'est pas possible
vous ne pouvez pas faire en VBA, ce que vous ne pouvez faire manuellement

A+

Bonjour à tous,

Chinodeoro, en bout de tableau, rajoute une colonne dans laquelle tu intègres une formule qui détecte le mot recherché dans ta ligne.

En G2 :

=SI(NB.SI(A2:F2;"*scan*");1;"")

Ensuite tu appliques un filtre sur la dite colonne.

klin89

Bonjour à tous !

Une approche via Power Query (Nativement intégré dans Excel 365) :

Si les sources (Planning et/ou choix) évoluent, faire " Actualiser tout " pour rafraîchir le tableau retourné.

Bonjour à tous de nouveau !

Pour le "fun", une proposition utilisant les récentes fonctions matricielles dynamiques. L'entièreté du tableau est géré par la formule :

Re

Pour le fun aussi

Sub masque()
    Dim i As Long
    With Sheets("Feuil1").Cells(1).CurrentRegion
        With .Offset(1).Resize(.Rows.Count - 1)
            For i = 1 To .Rows.Count
                .Rows(i).Hidden = WorksheetFunction.CountIf(.Rows(i), "*scan*") = False
            Next
        End With
    End With
End Sub

klin89

Re,

En complément :

Sub masque()
    Dim i As Long, temp
    temp = InputBox("Entrer la valeur recherchée")
    If temp = "" Then Exit Sub
    With Sheets("Feuil1").Cells(1).CurrentRegion
        With .Offset(1).Resize(.Rows.Count - 1)
            For i = 1 To .Rows.Count
                .Rows(i).Hidden = WorksheetFunction.CountIf(.Rows(i), Chr(42) & temp & Chr(42)) = False
            Next
        End With
    End With
End Sub

klin89

Rechercher des sujets similaires à "filtrer tableau partir donnee"