Sub glm()
Dim i, j, c1, c2, NumLigne
Dim Liste, DerLig1, Limite1(5)
Dim DerLig2, Limite2(5)
Dim WS1 As Worksheet, WS2 As Worksheet
Set WS1 = Worksheets("Feuil1")
Set WS2 = Worksheets("Feuil2")
DerLig1 = WS1.Range("A" & Rows.Count).End(xlUp).Row + 1
DerLig2 = WS2.Range("A" & Rows.Count).End(xlUp).Row + 1
Liste = Array("NEP", "PROCESS", "ECRE / FLOTT", "DMC")
'' cherche fin de plage de chaque job
For i = 1 To 3
Set c1 = WS1.Range("E11:E" & DerLig1).Find(Liste(i), LookIn:=xlValues)
Limite1(i) = c1.Row
Set c2 = WS2.Range("E11:E" & DerLig2).Find(Liste(i), LookIn:=xlValues)
Limite2(i) = c2.Row
Next
Limite1(0) = 11
Limite1(4) = DerLig1
Limite2(0) = 11
Limite2(4) = DerLig2
'pour chaque plage recherche F en F1 et copie en F2
For i = 4 To 1 Step -1
NumLigne = Limite2(i)
For j = Limite1(i) - 1 To Limite1(i - 1) + 1 Step -1
If WS1.Cells(j, 3) = "F" Then
WS1.Rows(j).Copy
WS2.Rows(NumLigne).Insert Shift:=xlDown
WS1.Rows(j).Delete Shift:=xlUp
NumLigne = NumLigne + 1
End If
Next
Next
End Sub