1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
Dim LastLig As Long, Lig As Long, Nb As Long
LastLig = Cells(Rows.Count, "C").End(xlUp).Row
If Not Intersect(Target, Range("B4:B" & LastLig)) Is Nothing Then
For Each c In Intersect(Target, Range("B4:B" & LastLig))
With Sheets("Minimes")
.AutoFilterMode = False
Lig = .Cells(Rows.Count, "B").End(xlUp).Row
.Range("B5:C" & Lig).AutoFilter Field:=1, Criteria1:=Range("C" & c.Row).Value
.Range("B5:C" & Lig).AutoFilter Field:=2, Criteria1:=Range("D" & c.Row).Value
Nb = .Range("B5:B" & Lig).SpecialCells(xlCellTypeVisible).Count
If c.Value <> "" Then
If Nb = 1 Then Range("C" & c.Row & ":D" & c.Row).Copy .Range("B" & Lig + 1)
Else
If Nb > 1 Then .Range("B6:B" & Lig).SpecialCells(xlCellTypeVisible).EntireRow.Delete
End If
.AutoFilterMode = False
End With
Next c
End If
End Sub |
Partager