Sub ListageCorrespondance()
Dim tcombi, tliste, i&, j&, k&, m&, n&, arret As Boolean
Application.ScreenUpdating = False
If Me.FilterMode Then Me.ShowAllData
Me.Rows.Hidden = False
tcombi = Range("j4:n" & Cells(Rows.Count, "j").End(xlUp).Row)
tliste = Range("b4:e" & Cells(Rows.Count, "b").End(xlUp).Row)
For i = 1 To UBound(tcombi): tcombi(i, UBound(tcombi, 2)) = "": Next
For i = 1 To UBound(tliste): tliste(i, UBound(tliste, 2)) = "": Next
For i = 1 To UBound(tliste)
For m = 1 To UBound(tcombi)
n = 0: arret = False
For j = 1 To UBound(tcombi, 2) - 1
For k = 1 To UBound(tliste, 2) - 1
If tliste(i, k) = tcombi(m, j) Then
n = n + 1
If n = UBound(tliste, 2) - 1 Then arret = True: Exit For
End If
Next k
If arret Then Exit For
Next j
If arret Then
tliste(i, UBound(tliste, 2)) = tliste(i, UBound(tliste, 2)) & "; " & m + 3
tcombi(m, UBound(tcombi, 2)) = tcombi(m, UBound(tcombi, 2)) & "; " & i + 3
End If
Next m
Next i
For i = 1 To UBound(tcombi): tcombi(i, UBound(tcombi, 2)) = Mid(tcombi(i, UBound(tcombi, 2)), 3): Next
For i = 1 To UBound(tliste): tliste(i, UBound(tliste, 2)) = Mid(tliste(i, UBound(tliste, 2)), 3): Next
Range("j4").Resize(UBound(tcombi), UBound(tcombi, 2)) = tcombi
Range("b4").Resize(UBound(tliste), UBound(tliste, 2)) = tliste
End Sub