Function BaseToDec(ByVal x As String, ByVal base As Long)
Dim s As String, dec As Long, puiss&, i&
On Error GoTo Err001
x = Trim(x): puiss = 1
For i = Len(x) To 1 Step -1
s = UCase(Mid(x, i, 1))
Select Case s
Case "0" To "9": dec = dec + puiss * Val(s)
Case "A" To "Z": dec = dec + puiss * (Asc(s) - Asc("A") + 10)
Case Else: BaseToDec = CVErr(xlErrNA): Exit Function
End Select
puiss = puiss * base
Next i
BaseToDec = dec
Exit Function
Err001:
BaseToDec = CVErr(xlErrNA)
End Function