XL 2013 Filtre "qui contient" à partir des données d'une cellule

jaber

XLDnaute Nouveau
Bonjour,

Mon problème est le suivant:

Dans mon fichier excel j'ai deux feuilles:

1- Article: contient une seule colonne qui enregistre la liste des articles

2 - Filtre : la feuille ou je souhaite afficher seulement les articles qui contiennent les données de la cellule C3 et de la cellule E3., de façon ce que à chaque fois que je change les données de ces cellules la liste filtrée change.

Est il possible de développer une macro qui résout le problème ?

Merci d'avance
 

Pièces jointes

  • FILTRE.xlsx
    18.2 KB · Affichages: 41
  • FILTRE.xlsx
    18.2 KB · Affichages: 21

Philippe Tulliez

XLDnaute Nouveau
Re : Filtre "qui contient" à partir des données d'une cellule

Bonjour,
D'après tes explications, je dirais que le filtre avancé est une solution.
Tu crées une zone de critères de deux colonnes et deux lignes avec en première ligne l'étiquette de colonnes (le titre) de la colonne où se trouve les données qui contiennent les caractères cherchés (par exemple NOM)
et en deuxième ligne, première colonne le ou les caractères cherchés entourés du caractère générique *EUR* et tu fais la même chose en deuxième ligne, deuxième colonne
Tu peux télécharger le classeur dans ce fil qui traite du même sujet

et tu déplaces la zone des critères (znCriteria) par exemple en cellules M2:M3 et tu écris
AcquéreurAcquéreur
*a**oi*
et ensuite tu cliques sur le bouton Lancer l'exportation et tu auras six lignes exportées qui contiennent dans la colonne titrées Acquéreur les caractères a et oi
 

DoubleZero

XLDnaute Barbatruc
Re : Filtre "qui contient" à partir des données d'une cellule

Bonjour, jaber, le Forum,

Une suggestion avec le code ci-après.

Code:
Option Explicit
Sub Filtrer()
    Sheets("Filtre").Activate
    Range(Range("b6"), Range("b6").End(xlDown)).Clear
    With Sheets("Base")
        .Range("b:b").AutoFilter Field:=1, Criteria1:="=*" & Range("c3").Value & "*", Operator:=xlAnd, Criteria2:="=*" & Range("e3").Value & "*"
        .Range("b:b").SpecialCells(xlCellTypeVisible).SpecialCells(xlCellTypeConstants).Copy Destination:=Sheets("Filtre").Range("b6")
        .Range("b:b").AutoFilter Field:=1
    End With
End Sub

A bientôt :)
 

Discussions similaires

Réponses
9
Affichages
393