filtrage sur 2 colonne dans feuille suivant contenu cellule en vba

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bruno66

XLDnaute Occasionnel
bonjour je vous mets un morceau du fichier en exemple , j'ai deja le filtrage en double clic sur cellule , mais cherchant à automatiser en profondeur mon code,je ne sais pas faire le double filtrage sur 2 contenu de cellule qui m'ouvre une autre feuille et me range les lignes contenant les 2 valeurs seulement
par contre, mon bouton effacement et creer pour effacer le filtre dans le classeur et les données dans les 2 cellules
merci d'avance , je vous joint un morceau de fichier
je continue ma recherche de mon coté
 

Pièces jointes

Dernière édition:
Re : filtrage sur 2 colonne dans feuille suivant contenu cellule en vba

Bonjour,

Un essai ci-joint en utilisant le filtre avancé.
Pour le premier bouton j'ai utilisé ce code:
VB:
Private Sub CommandButton1_Click()
Dim Lig As Long
'Calcule la dernière ligne de la zone à filtrer, en prenant comme base la colonne A d l'onglet filtrage
Lig = Sheets("filtrage").Cells(Rows.Count, 1).End(xlUp).Row
'bloque le rafraichissement de l'écran
Application.ScreenUpdating = False
'Travaille sur l'onglet base 2 cellules
With Sheets("base 2 cellules ")
'Efface le contenu des colonnes K à O
    .Columns("K:O").ClearContents
'Indique cellules I1 et J1 les libellés des 2 critères du filtre
    .Range("I1") = "produit"
    .Range("J1") = "couleur"
'Indique en dessous les valeurs prises en compte pour le filtre
    .Range("I2") = .Range("C7")
    .Range("J2") = .Range("E7")

'Lance le filtre avancé, zone à filtrer sur l'onglet filtrage, copie les données selon le critère
'de l'onglet base 2 cellules  inscrit cellules I1:J2, copie le tout cellule K1
    Sheets("filtrage").Range("A1:E" & Lig).AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=.Range("I1:J2"), CopyToRange:=.Range("K1"), Unique:=False
'Efface le contenu cellules I1:J2
    .Range("I1:J2").Clear
'fin du With
End With
Application.ScreenUpdating = True
End Sub

et pour le second:
Code:
Private Sub CommandButton2_Click()
With Sheets("base 2 cellules ")
    .Columns("K:O").ClearContents
    .Range("C7:E7").ClearContents
End With

End Sub

Vois si cela peut t'aider.

Bien à toi,

mth
 

Pièces jointes

Dernière édition:
Re : filtrage sur 2 colonne dans feuille suivant contenu cellule en vba

deja pour commencer un grand merciton code m'apporte encore plus que ce que je ne l'esperait
il me permet de plus meme sans ouvrir la feuille d'avoir sur ma feuille de recherche toutes les donnés qui m'interesse ce qui est enorme
donc je vais essayer d'adapter ce code , d'en comprendre aussi le fonctionnement si vous aviez pu le le decomposer avec le' en dessous de chaque formule ca m'aurait permit aussi d'avancer dans la programmation si c'est possible je vous en remercie par avance
 
Re : filtrage sur 2 colonne dans feuille suivant contenu cellule en vba

re 🙂

Je t'ai mis quelques commentaires dans le code du post précédent, en espérant que cela pourra t'aider.
Ceci dit, le plus simple serait peut-être que tu utilises une fois à la main le filtre avancé pour voir ton résultat (onglet "Données" puis bouton "Avancé" dans le ruban) , ensuite tu peux refaire la manip avec l'enregistreur de macros pour voir ce que ça donne, et tu verras que tu seras très proche de ce que je t'ai proposé.

Sourire... et une fois que tu auras goûté au filtre avancé, par macro ou à la main tu ne pourras plus t'en passer, c'est vraiment une fonctionnalité très pratique d'Excel 🙂

Bonne soirée à toi,

mth
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
586
Retour