Ah le but c'était une macro?
Dans ce cas je peux aussi proposer:
Sub dernierePosition()
Dim tabSource As Variant, tabResultat As Variant
ReDim tabResultat(1 To 9, 1 To 1)
tabSource = Range("B2", "M10")
For i = 1 To 9
pos = 0
For j = UBound(tabSource, 2) To LBound(tabSource, 2) Step -1
If tabSource(i, j) <> 0 Then
pos = j
Exit For
End If
Next j
tabResultat(i, 1) = pos
Next i
Range("P2").Resize(UBound(tabResultat, 1), UBound(tabResultat, 2)).Value = tabResultat
End Sub