Option Explicit
Sub Inférieur_100()
Dim i As Integer, c As Variant, a
Dim ShD As Worksheet, ShR As Worksheet
Dim d As Object
Set ShD = Sheets("Données"): Set ShR = Sheets("Résultat désiré")
Set d = CreateObject("Scripting.Dictionary")
With ShD
For i = 1 To .[a65000].End(xlUp).Row
If .Cells(i, 2).Value < 100 Then
d(.Cells(i, 1).Value) = .Cells(i, 2).Value
Else: d(.Cells(i, 1).Value) = 99 & ":" & (.Cells(i, 2).Value - 99)
End If
Next i
End With
With ShR
i = 1
For Each c In d.keys
a = Application.Transpose(Split(d(c), ":"))
.Cells(i, 4).Resize(UBound(a), 1).Value = c
.Cells(i, 5).Resize(UBound(a), 1).Value = a
i = i + UBound(a)
Next c
End With
End Sub