VBS-condition-logique identique-résultat différent - VB/VBA/VBS - Programmation
Marsh Posté le 12-02-2009 à 11:31:15
resultat est considéré comme une string donc il compare une string et un nombre dans A > B
dans A - B > 0 il convertit tout seul A en int pour faire la soustraction car il ne sait faire de soustraction qu'entre deux nombres
Marsh Posté le 12-02-2009 à 10:11:08
Bonjour,
Je suis en train de faire un petit script en vbs et je tombe sur un problème étrange.
Je fais un teste de condition, qui me retourne deux résultat différents sur le même test écrit différement (Si A>B (fonctionne mal)différent de si (A-B)>0 (fonctionne)????????)
Je vous mets un petit exemple du code (le 1er ne fonctionne pas, le 2ème fonctionne) :
dim tab(2)
resultat = -2
do while resultat = -2
resultat = inputbox("??" )
if resultat = "" then
resultat = -1
else
if not isnumeric(resultat ) then
msgbox "not numeric"
resultat = -2
else
if (resultat > ubound(tab)) then
msgbox "dehors !" & resultat
resultat = -2
end if
end if
end if
msgbox "RESULTAT : " & resultat
loop
Retourne "Dehors" lorsqu'on entre 1 (ce qui n'est pas correct)
alors que l'exemple
dim tab(2)
resultat = -2
do while resultat = -2
resultat = inputbox("??" )
if resultat = "" then
resultat = -1
else
if not isnumeric(resultat ) then
msgbox "not numeric"
resultat = -2
else
if (resultat - ubound(tab)) > 0 then
msgbox "dehors !" & resultat
resultat = -2
end if
end if
end if
msgbox "RESULTAT : " & resultat
loop
Qui est identique logiquement, fonctionne quand à lui correctement...
Je sais donc contourner le souci, mais de là à l'expliquer.
Merci d'avance de votre aide, si vous y comprenez quelque chose.....