re
Pas sûr que cela serve à quelque chose mais bon, faites comme ceci :
- Clic droite sur le nom de l'onglet Filtre
- choisir l'option "Visualiser le code"
- coller le code ci-dessous dans la fenêtre
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("C4")) Is Nothing Then
Range("B7:E" & Range("B" & Rows.Count).End(xlUp).Row + 1).ClearContents
With Sheets("Base de données")
Set plage = .Range("B3:F" & .Range("B" & Rows.Count).End(xlUp).Row)
If .AutoFilterMode = False Then .Range("B2").AutoFilter
On Error Resume Next
.ShowAllData
On Error GoTo 0
plage.AutoFilter Field:=5, Criteria1:=Range("C4"), Operator:=xlAnd
.Range("B3:E" & .Range("B" & Rows.Count).End(xlUp).Row).SpecialCells(xlCellTypeVisible).Copy Range("B7")
End With
End If
End Sub
- enregistrez le fichier au format XLSM (pour accepter les macro)
Pour le test, faite le choix dans votre cellule C4 de la feuille Filtre
Attention aux cellules fusionnées avec la programmation VBA car il aime pas trop. Donc défusionnez la cellule c'est mieux.
si ok et terminé pensez à cloturer le fil
Crdlt