1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Function Base10versBase26Alphabet(Nombre As Long, Optional Digits As Byte) As Variant
Dim x As String
Dim r As Byte
If Digits > 0 And 26 ^ Digits <= Nombre Then Base10versBase26Alphabet = CVErr(xlErrNum): Exit Function
x = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
r = Nombre Mod 26
If Int(Nombre / 26) = 0 Then
Base10versBase26Alphabet = Mid(x, r + 1, 1)
If Digits > 0 Then
Base10versBase26Alphabet = Right(String(Digits, "A") & Base10versBase26Alphabet, Digits)
End If
Else
Base10versBase26Alphabet = Base10versBase26Alphabet(Int(Nombre / 26), Digits) & Mid(x, r + 1, 1)
If Digits > 0 Then
Base10versBase26Alphabet = Right(String(Digits, "A") & Base10versBase26Alphabet, Digits)
End If
End If
End Function |
Partager