Option Explicit 'Oblige la déclaration de toutes les variables
Private Sub Worksheet_Change(ByVal Target As Range)
''Macros par Claude Dubois pour "libel_69" Excel-Pratique le 15/02/10
If Not Application.Intersect(Target, Range("d2:e2")) Is Nothing Then 'Si D2:E2 change
Application.ScreenUpdating = False 'Bloque le rafraichissement de l'écran
With Sheets("Base") 'Feuille Base
.Range("o2") = "=AND($a2=Résumé!$d$2,$b2=Résumé!$e$2)" 'Formule sur feuille base en O2 pour le filtre ==> =ET($A2=Résumé!$D$2;$B2=Résumé!$E$2)
'copie la feuille base filtré sans doublon en D5:J5 de la feuille résumé (Les 2 lignes sont ensembles)
.Range("a1:i" & .[a65000].End(xlUp).Row).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:= _
.Range("o1:o2"), CopyToRange:=Range("d5:j5"), Unique:=False
.Range("o2").ClearContents 'Suppression formule en O2 de la feuille Base
End With
End If 'Sors de la condition si
End Sub