1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| Sub Delta()
Dim wbk As Workbook
Dim ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet
Dim Classeur As Variant
Dim LastLig1 As Long, LastLig2 As Long, i As Long, k As Long
Dim c As Range, v As Range
Application.ScreenUpdating = False
Classeur = Application.GetOpenFilename("Classeurs Excel,*.xls")
If Classeur <> False Then
Set wbk = Workbooks.Open(Classeur)
Set ws1 = wbk.Worksheets(1)
Set ws2 = wbk.Worksheets(2)
LastLig1 = ws1.Cells(Rows.Count, 1).End(xlUp).Row
LastLig2 = ws2.Cells(Rows.Count, 1).End(xlUp).Row
Set ws3 = wbk.Worksheets.Add(After:=wbk.Sheets(wbk.Worksheets.Count))
For i = 1 To LastLig2
Set c = ws1.Range("A1:A" & LastLig1).Find(ws2.Range("A" & i).Value, lookat:=xlWhole)
If c Is Nothing Then
Set v = ws3.Columns(1).Find(ws2.Range("A" & i).Value, lookat:=xlWhole)
If v Is Nothing Then
k = k + 1
ws2.Range("A" & i & ":E" & i).Copy ws3.Range("A" & k)
End If
End If
Set v = Nothing
Next i
Set c = Nothing
Set ws3 = Nothing
Set ws2 = Nothing
Set ws1 = Nothing
wbk.Save
wbk.Close
Set wbk = Nothing
End If
End Sub |
Partager