Type d'argument pour ma fonction

Bonjour a tous, j'ai une fonction dans laquel je dois mettre la valeur a chercher entre guillemet.

ex.:

HexToBin ("A5")

j'aimerais pouvoir ecrire:

valeur= A5
HexToBin (valeur)

Peut-on modifier la ligne suivant pour ca?

Function HexToBin(NombreHex As String) As String
Dim tHex, tBin
Dim i As Integer, j As Integer
Dim Binaire As String
Dim Trouve As Boolean

Binaire = ""
NombreHex = UCase(NombreHex)
tHex = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F")
tBin = Array("0000", "0001", "0010", "0011", "0100", "0101", "0110", _
     "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111")

For i = 1 To Len(NombreHex)
    Trouve = False
    For j = 0 To 15
        If tHex(j) = Mid(NombreHex, i, 1) Then
            Binaire = Binaire & tBin(j)
            Trouve = True
            Exit For
        End If
    Next j
    If Not Trouve Then HexToBin = "": Exit Function
Next i
HexToBin = Binaire
End Function
CAPUCIN a écrit :

j'aimerais pouvoir ecrire:

valeur= A5
HexToBin (valeur)

Peut-on modifier la ligne suivant pour ca?

tu peux écrire

valeur= "A5"
HexToBin (valeur)

ou

valeur= &hA5
HexToBin (hex(valeur))

sans changer le code

ou

valeur= &hA5
HexToBin (valeur)

mais il faut changer ton code

Function HexToBin(NombreHex) As String
Dim tHex, tBin
Dim i As Integer, j As Integer
Dim Binaire As String
Dim Trouve As Boolean

Binaire = ""
NombreHex = hex(nombrehex) 
tHex = Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F")
tBin = Array("0000", "0001", "0010", "0011", "0100", "0101", "0110", _
     "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111")

For i = 1 To Len(NombreHex)
    Trouve = False
    For j = 0 To 15
        If tHex(j) = Mid(NombreHex, i, 1) Then
            Binaire = Binaire & tBin(j)
            Trouve = True
            Exit For
        End If
    Next j
    If Not Trouve Then HexToBin = "": Exit Function
Next i
HexToBin = Binaire
End Function

Salut! j'aime bien ta premiere solution. Par contre, il faudrait pouvoir ajouter les guillemet a meme une formule car en realite, je n'aurai pas valeur= A5

mais plutot

valeur =  Right("00" + Hex(object1.getf()), 2)  'recuperation de la donnee
resultat = HexToBin (valeur)
CAPUCIN a écrit :

Salut! j'aime bien ta premiere solution. Par contre, il faudrait pouvoir ajouter les guillemet a meme une formule car en realite, je n'aurai pas valeur= A5

mais plutot

valeur =  Right("00" + Hex(object1.getf()), 2)  'recuperation de la donnee
resultat = HexToBin (valeur)

Les guillemets ne sont pas nécessaires.

si tu écris

valeur ="0B"

valeur est une variable string qui contient 0B

si tu écris

valeur = Right("00" + Hex(object1.getf()), 2)

si object1.getf() vaut 11 (en décimal)

hex(object1.getf()) vaut B

right("00" & hex(object1.getf()),2) vaut 0B

valeur est une variable string qui contient 0B

Desole pour le delais, j'ai finalement reussi a faire marche ca, en utilisant ta modification sur ma fonction. Il y avait une anomalie dans la fonction, elle aurais du s'apeler DecToBin et non HexToBin (j'avais pris cette fonction sur le net).

Tout semble fonctionner!

Merci!

Capucin!

Rechercher des sujets similaires à "type argument fonction"