Bonjour à tous,
urgemment besoin d'aide en effet j'ai réaliser des sous programme me permettant de convertir des valeurs décimales en hexadécimale et en ascii.
mais j'aimerais mette sous forme de fonctions que j'appellerai dans mon code c'est sous code
de tel sorte à avoir une fonction:
- décimale/hexadécimale
- décimale/ascii
voici mon code:
If Handle = 1 Then
For i = 0 To intNbMots - 1
'Acquisition des données en décimal codage décimal
Cells(6 + i, 6) = Mbaxp1.Register(1, i) ' Copy from MBAXP internal data array handle 1 index 0
TDEC(i) = Mbaxp1.Register(1, i) 'table permetant d'enregistrer les valeurs décimales
MSB(i) = Int(TDEC(i) / 256) 'table de conversion décimalvers MSB(bit de poids le plus fort)
'Cells(6 + i, 15) = MSB(i) 'conversion décimalvers MSB
LSB(i) = Int(TDEC(i) - MSB(i) * 256) 'table de conversion décimalvers LSB(bit de poids le plus faible)
'Cells(6 + i, 16) = LSB(i) 'conversion décimalvers LSB
Cells(6 + i, 6).Interior.Color = vbBlue
'Conversion des données décimales eb hexadécimal
HEXA(i) = CStr(Hex(LSB(i))) 'conversion du LSB en hexadécimal
If LSB(i) < 16 Then
HEXA(i) = "0" & HEXA(i)
End If
HEXA(i) = CStr(Hex(MSB(i))) & HEXA(i)
If MSB(i) < 16 Then
HEXA(i) = "0" & HEXA(i)
End If
HEXA(i) = "'" & HEXA(i)
Cells(6 + i, 7) = HEXA(i)
Cells(6 + i, 7).Interior.Color = vbRed
'Conversion des données décimales eb Asii
ASCI(i) = Chr(LSB(i))
If LSB(i) < 32 Then
ASCI(i) = "#"
End If
ASCI(i) = Chr(MSB(i)) & ASCI(i)
If MSB(i) < 32 Then
ASCI(i) = "#" & ASCI(i)
End If
ASCI(i) = "'" & ASCI(i)
Cells(6 + i, 8) = ASCI(i)
Cells(6 + i, 8).Interior.Color = vbGreen
Cells(3, 11) = i + 1 'Affichage du nombre de mot lu
Next
merci d'avance