Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

pb de convertion de type de variable

3 réponses
Avatar
Titeuf
bonsoir,
l'erreur se trouve à la ligne 17 quand je veux convertir ma chaine sTempH
qui contient une valeur en hexa
il me sort erreur de type incompatible
alors j'ai essayé tout betement lWriteHexa = sTempH mais pareil meme erreur
alors je comprend pas pourquoi la fonction CLng ne marche pas !
si quelqu'un peut m'aider
merci beaucoup

voici mon code

01 Dim i As Integer
02 Dim dblResHexa As Double: dblResHexa = 0
03 Dim sTempH As String
04 Dim lBaseHexa As Long: lBaseHexa = -1640102016
05 Dim lWriteHexa As Long
06
07 For i = 1 To 10
08 If chkTweaks(i).Value = 1 Then
09 dblResHexa = dblResHexa - (CLng(check1(i).Tag) - &H780)
10 End If
11 Next i
12
13 lWriteHexa = lBaseHexa + dblResHexa
14 sTempH = Hex(lWriteHexa)
15 sTempH = StrReverse(sTempH)
16
17 lWriteHexa = CLng (sTmpH)
18
19 Debug.Print lWriteHexa

3 réponses

Avatar
PR-VB6
"Titeuf" a écrit dans le message de news:
c98l6n$h7g$
bonsoir,
l'erreur se trouve à la ligne 17 quand je veux convertir ma chaine sTempH
qui contient une valeur en hexa
il me sort erreur de type incompatible
alors j'ai essayé tout betement lWriteHexa = sTempH mais pareil meme


erreur
alors je comprend pas pourquoi la fonction CLng ne marche pas !
si quelqu'un peut m'aider
merci beaucoup

voici mon code

01 Dim i As Integer
02 Dim dblResHexa As Double: dblResHexa = 0
03 Dim sTempH As String
04 Dim lBaseHexa As Long: lBaseHexa = -1640102016
05 Dim lWriteHexa As Long
06
07 For i = 1 To 10
08 If chkTweaks(i).Value = 1 Then
09 dblResHexa = dblResHexa - (CLng(check1(i).Tag) -


&H780)
10 End If
11 Next i
12
13 lWriteHexa = lBaseHexa + dblResHexa
14 sTempH = Hex(lWriteHexa)
15 sTempH = StrReverse(sTempH)
16
17 lWriteHexa = CLng (sTmpH)



il manque un 'e' dans (sTmpH)
clng("") =erreur

18
19 Debug.Print lWriteHexa




Avatar
ng
Salut,

17 lWriteHexa = CLng (sTmpH)


Essaye :
17 lWriteHexa = Val ("&h" & sTmpH)

Note au passage :
14 sTempH = Hex(lWriteHexa)


Utilise plutot :
14 sTempH = Hex$(lWriteHexa)

Et d'une manière générale, préfère utiliser les fonctions travaillant
directement en string comme Left$(), Right$(), Hex$(), Mid$() plutot que
leur équivalent travaillant en variant : Left(), Right(),...

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/



Titeuf a écrit :

bonsoir,
l'erreur se trouve à la ligne 17 quand je veux convertir ma chaine
sTempH qui contient une valeur en hexa
il me sort erreur de type incompatible
alors j'ai essayé tout betement lWriteHexa = sTempH mais pareil meme
erreur alors je comprend pas pourquoi la fonction CLng ne marche pas !
si quelqu'un peut m'aider
merci beaucoup

voici mon code

01 Dim i As Integer
02 Dim dblResHexa As Double: dblResHexa = 0
03 Dim sTempH As String
04 Dim lBaseHexa As Long: lBaseHexa = -1640102016
05 Dim lWriteHexa As Long
06
07 For i = 1 To 10
08 If chkTweaks(i).Value = 1 Then
09 dblResHexa = dblResHexa - (CLng(check1(i).Tag) -
&H780) 10 End If
11 Next i
12
13 lWriteHexa = lBaseHexa + dblResHexa
14 sTempH = Hex(lWriteHexa)
15 sTempH = StrReverse(sTempH)
16
17 lWriteHexa = CLng (sTmpH)
18
19 Debug.Print lWriteHexa


Avatar
Titeuf
Merci !
c'est bon !