Private Sub CommandButton1_Click()
Dim tablo
Dim tablo1()
Dim tablo2()
Dim i As Byte
Dim j As Byte
Dim x As Byte
Dim t As String
Dim present As Boolean
tablo = Split(Range("a3"), Chr(10))
For i = 1 To UBound(tablo)
x = x + 1
ReDim Preserve tablo1(1 To 2, 1 To x)
tablo1(1, x) = Split(tablo(i), "du")(0)
tablo1(2, x) = Split(tablo(i), "du")(1)
Next i
x = 0
tablo = Split(Range("b3"), Chr(10))
For i = 1 To UBound(tablo)
x = x + 1
ReDim Preserve tablo2(1 To 2, 1 To x)
tablo2(1, x) = Split(tablo(i), "du")(0)
tablo2(2, x) = Split(tablo(i), "du")(1)
Next i
For i = LBound(tablo1, 2) To UBound(tablo1, 2)
For j = LBound(tablo2, 2) To UBound(tablo2, 2)
If tablo1(2, i) = tablo2(2, j) Then
present = True
tablo2(1, j) = tablo2(1, j) - tablo1(1, i)
End If
Next j
If present = False Then
present = True
ReDim Preserve tablo2(1 To 2, 1 To UBound(tablo2, 2) + 1)
tablo2(1, UBound(tablo2, 2)) = tablo(1, i)
tablo2(2, UBound(tablo2, 2)) = tablo(2, i)
End If
Next i
t = tablo(0) & Chr(10)
For i = LBound(tablo2, 2) To UBound(tablo2, 2)
If tablo2(1, i) <> 0 Then
t = t & tablo2(1, i) & " du " & tablo2(2, i) & Chr(10)
End If
Next i
Range("c3") = t
End Sub