Sub fusion()
Dim DataSource(), DataDest()
Set FicSource = Workbooks("IC.xlsm")
Set FicDest = Workbooks("Piste.xlsx")
TailleSource = FicSource.Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
TailleDest = FicDest.Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
Dim ListToCopy(1, 16) 'ligne à recopier
ReDim DataSource(TailleSource + 1, 22) 'contient la ligne d'entete
ReDim DataDest(TailleDest, 16) 'Contient la ligne à copier
DataSource = FicSource.Sheets("Sheet1").Range("A1:V" & TailleSource).Value
DataDest = FicDest.Sheets("Sheet1").Range("A1:P" & TailleDest).Value
For i = LBound(DataSource) + 1 To UBound(DataSource)
Trouve = False
For j = LBound(DataDest) + 1 To UBound(DataDest)
If DataDest(j, 3) = DataSource(i, 5) Then 'on cherche le Nom Prénom
Trouve = True
End If
Next j
If Trouve = False Then 'si on a pas trouvé - on récupère les données de la ligne
'NewTaille = UBound(DataDest) + 1
'ReDim DataDest(NewTaille, 16)
ListToCopy(1, 1) = "-" 'BU 'on met un - pour éviter d'écraser la dernière ligne au fur et à mesure
ListToCopy(1, 2) = DataSource(i, 2) 'TU
ListToCopy(1, 3) = DataSource(i, 5) 'Nom Prénom
ListToCopy(1, 4) = DataSource(i, 9) 'Métier
ListToCopy(1, 5) = DataSource(i, 2) 'TU
ListToCopy(1, 6) = DataSource(i, 18) 'Date Dispo
ListToCopy(1, 7) = DataSource(i, 8) 'DC OK
ListToCopy(1, 8) = DataSource(i, 13) 'PPT OK
ListToCopy(1, 9) = DataSource(i, 20) 'Salaire
ListToCopy(1, 10) = DataSource(i, 4) 'BM
ListToCopy(1, 11) = DataSource(i, 3) 'TM
ListToCopy(1, 12) = DataSource(i, 17) 'Client
ListToCopy(1, 13) = "" 'BM/TM
ListToCopy(1, 14) = "" 'Date Dernier Statut
ListToCopy(1, 15) = "" 'Etat
ListToCopy(1, 16) = "" 'Action complémentaire
FicDest.Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Offset(1, 0) = ListToCopy(1, 1)
For k = 2 To 16
FicDest.Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Offset(0, k - 1) = ListToCopy(1, k)
Next k
End If
Next i
End Sub