Option Explicit
Sub Test()
Dim w(1 To 2) As Worksheet, i%, Rg As Range, Nb&, Tb&(), j&, Rw&, T
T = Now
Application.ScreenUpdating = False
Nb = WorksheetFunction.Combin(70, 2)
Set w(1) = ActiveSheet
Rw = w(1).Cells(Rows.Count, 3).End(xlUp).Row
Sheets.Add
Set w(2) = ActiveSheet
For i = 1 To 2
w(2).Cells(1, i) = i
Next i
w(2).Cells(2, 1).FormulaR1C1 = "=IF(R[-1]C[1]=70,R[-1]C+1,R[-1]C)"
w(2).Cells(2, 2).FormulaR1C1 = "=IF(R[-1]C=70,RC[-1]+1,R[-1]C+1)"
Set Rg = w(2).Range(w(2).Cells(2, 1), w(2).Cells(Nb, 2))
w(2).Range(w(2).Cells(2, 1), w(2).Cells(2, 2)).AutoFill Destination:=Rg
Rg.Copy: Rg.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
ReDim Tb(1 To Nb)
For i = 1 To Nb
Tb(i) = 3
Next i
For i = Rw To 2 Step -1
w(2).Cells(1, 3).FormulaR1C1 = "=COUNTIF(" & w(1).Name & "!R" & i & "C:R" & i & "C[19],RC[-2])+COUNTIF(" & w(1).Name & "!R" & i & "C:R" & i & "C[19],RC[-1])"
Set Rg = w(2).Range(w(2).Cells(1, 3), w(2).Cells(Nb, 3))
w(2).Cells(1, 3).AutoFill Destination:=Rg
Rg.Copy: Rg.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
For j = 1 To Nb
If w(2).Cells(j, 3) = 2 Then
Tb(j) = Tb(j) + 1
w(2).Cells(j, Tb(j)) = i - 1
End If
Next j
Next i
For i = 1 To Nb
w(2).Cells(i, 3) = Tb(i) - 3
Next i
w(2).Rows(1).Insert Shift:=xlDown
w(2).Cells(1, 1) = "n1": w(2).Cells(1, 2) = "n2": w(2).Cells(1, 3) = "qté"
Application.ScreenUpdating = True
With w(2).Cells
.HorizontalAlignment = xlCenter
.EntireColumn.AutoFit
End With
MsgBox (T - Now) * 86400
End Sub