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 38 39
| Sub Recup_Donnees()
Dim f1 As Worksheet, f4 As Worksheet, f5 As Worksheet
Dim DerLig_f1 As Long, DerLig_f4 As Long, Col As Long, i As Long, f As Long, Lig As Long
Dim Mail As String
Application.ScreenUpdating = False
Set f4 = Sheets("Source")
Set f5 = Sheets("Récap")
f5.Cells.ClearContents
DerLig_f4 = f4.Range("A" & Rows.Count).End(xlUp).Row
Lig = 2
For i = 2 To DerLig_f4
If f4.Cells(i, "F") <> "" And f4.Cells(i, "F") <> "@" Then
Mail = f4.Cells(i, "F")
For f = 1 To 3
Select Case f
Case 1
Col = 4
Case 2
Col = 21
Case 3
Col = 11
End Select
Set f1 = Sheets(f)
DerLig_f1 = f1.Cells(Rows.Count, Col).End(xlUp).Row
If Application.WorksheetFunction.CountIf(f1.Range(f1.Cells(1, Col), f1.Cells(DerLig_f1, Col)), Mail) <> 0 Then
f5.Range(f5.Cells(Lig, "A"), f5.Cells(Lig, "B")).Value = f4.Range(f4.Cells(i, "A"), f4.Cells(i, "B")).Value
f5.Cells(Lig, "C").Value = f4.Cells(i, "D").Value
Lig = Lig + 1
Exit For
End If
Next f
End If
Next i
f5.Range("A1:C1").Value = Array("Poste", "Résidence", "Matricule")
Set f1 = Nothing
Set f4 = Nothing
Set f5 = Nothing
End Sub |
Partager