Bonjour,
j'avais écrit ça :
Sub CopieSansDoblon()
Dim C As Range, Ligne As Long, Sh As Worksheet, Teste As Boolean
Dim I As Long, J As Long, K As Long
Dim Company, Ref, RefPermit, Location, StartD, EndD
Set Sh = Sheets("Suivi")
With Sh
Ligne = .[A:A].Find("*", , , xlPart, xlByRows, xlPrevious).Row
End With
With Sheets("DWA")
For I = 6 To 22 Step 8
For J = 1 To 25 Step 5
Company = .Range("A1").Offset(J, I)
StartD = .Range("A1").Offset(J + 1, I)
EndD = .Range("A1").Offset(J + 2, I)
Location = .Range("A1").Offset(J + 3, I)
RefPermit = .Range("A1").Offset(J + 4, I)
If Company = "" And StartD = "" And EndD = "" And Location = "" And _
RefPermit = "" And Ref = "" Then
Else
'Company;Ref;Ref permit;Location;Start;End
With Sh
Teste = False
Ligne = .[A:A].Find("*", , , xlPart, xlByRows, xlPrevious).Row
For Each C In .Range("A3:A" & Ligne)
If C = Company And C.Offset(, 1) = Ref And C.Offset(, 2) = _
RefPermit And C.Offset(, 3) = Location And C.Offset(, 4) = _
StartD And C.Offset(, 5) = EndD Then
Teste = True
End If
Next C
If Teste = False Then
Ligne = Ligne + 1
.Cells(Ligne, 1) = Company
.Cells(Ligne, 2) = Ref
.Cells(Ligne, 3) = RefPermit
.Cells(Ligne, 4) = Location
.Cells(Ligne, 5) = StartD
.Cells(Ligne, 6) = EndD
End If
End With
End If
Next J
Next I
End With
End Sub
Essaie:
Daniel