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