Voici une fonction qui permet de convertir un nombre décimal en hexadecimal en utilisant une fonction récurante.
Bonne utilisation
si vous avez des optimisation elle sont les bienvenues!!
Source / Exemple :
Private Sub Text1_Change()
Label1 = DecToHexa2(Text1)
End Sub
'
Public Function DecToHexa2(Nb)
If Nb = "" Then Exit Function
lenombre2 = Nb
While Int(lenombre2 / 16) <> 0
Select Case Int(lenombre2 / 16)
Case Is < 10
DecToHexa2 = DecToHexa2 + CStr(Int(lenombre2 / 16))
Case 10
DecToHexa2 = DecToHexa2 + "A"
Case 11
DecToHexa2 = DecToHexa2 + "B"
Case 12
DecToHexa2 = DecToHexa2 + "C"
Case 13
DecToHexa2 = DecToHexa2 + "D"
Case 14
DecToHexa2 = DecToHexa2 + "E"
Case 15
DecToHexa2 = DecToHexa2 + "F"
Case Is > 15
DecToHexa2 = DecToHexa2 + DecToHexa2(Int(lenombre2 / 16))
End Select
lenombre2 = lenombre2 - (Int(lenombre2 / 16) * 16)
Wend
Select Case lenombre2
Case Is < 10
DecToHexa2 = DecToHexa2 + CStr(lenombre2)
Case 10
DecToHexa2 = DecToHexa2 + "A"
Case 11
DecToHexa2 = DecToHexa2 + "B"
Case 12
DecToHexa2 = DecToHexa2 + "C"
Case 13
DecToHexa2 = DecToHexa2 + "D"
Case 14
DecToHexa2 = DecToHexa2 + "E"
Case 15
DecToHexa2 = DecToHexa2 + "F"
End Select
End Function
Private Sub Text1_KeyPress(KeyAscii As Integer)
If Not ((KeyAscii >= 48 And KeyAscii <= 57) Or KeyAscii = 8 Or KeyAscii = 44 Or KeyAscii = 46) Then
KeyAscii = 0 'on annule la pression sur la touche
End If
End Sub
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.