ecriture en base 8 en vba

ecriture en base 8 en vba - VB/VBA/VBS - Programmation

Marsh Posté le 30-04-2007 à 12:03:00    

Bonjour,  
je dois completer la macro suivante:
sub base()
dim v as string
t=8
y=x\t
z=x-t*y
v=cstr(z)
select case y
case Is<1:
Case Is < 8: v = CStr(y) + v
Case Else:
 
 
 
end select
end sub
je dois completer cette macro seulement, j'obtiens des mauvais resultats en affichant v. Si quelqun a des idées, elles seront les bienvenues.
Merci

Reply

Marsh Posté le 30-04-2007 à 12:03:00   

Reply

Marsh Posté le 30-04-2007 à 13:20:43    

Essaie   y = int(x/t).
 
 
 
Bignose

Reply

Marsh Posté le 30-04-2007 à 13:46:47    

Plus généraliste, à tester
A placer dans un Module puis accès sous XL via Insertion | Fonction | Catégories : Personnalisées


Option Explicit
 
Private Const Chaine = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
 
Function Base10toN(ByVal Valeur As Long, ByVal Base As Long) As String
Dim v As Long, str As String
    If (Base < 2) Or (Base > 36) Then Exit Function
    Do
        v = Valeur Mod Base
        Valeur = Int(Valeur / Base)
        str = Mid(Chaine, 1 + v, 1) & str
    Loop While Valeur > 0
    Base10toN = str
End Function
 
Function BaseNto10(ByVal Valeur As String, ByVal Base As Long) As Long
Dim v As Long, i As Long, j As Long, iVal As Long
    If (Base < 2) Or (Base > 36) Then Exit Function
    For i = Len(Valeur) To 1 Step -1
        v = InStr(1, Chaine, Mid(Valeur, i, 1)) - 1
        If v < 0 Or v >= Base Then Exit Function
        For j = 1 To Len(Valeur) - i
            v = v * Base
        Next
        iVal = iVal + v
    Next i
    BaseNto10 = iVal
End Function


Message édité par kiki29 le 30-04-2007 à 20:26:59
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed