Je suis sur une partie de mon programme, où j'aimerai pouvoir sur un nombre X, séparer les unités, les dizaines, les centaines, les milliers, etc...
je vous mets le bout du programme qui me pose soucis. Voilà par exemple, si je rentre 123, mon programme fonctionne !!!, mais si je rentre 873 (ca plante).. .
J'ai remarqué avec le déboggeur que lors de ma première division, le 8 passe en 9, ce qui va me faire fausser mon calcul par la suite et va tourner à l'infini dans ma 2ème boucle...
Voici mes questions : Y a-t-il un algorithme ou je puisse m'inspirer ? La division en programmation est-elle justicieuse, ou y a-t-il d'autres procédés ?
Est-ce qu'il y a un tuto parlant de ces principes de divisions ou des calculs entres float et entier...
Dim Val_CC as Long
Dim Val_Int As Integer
Dim Indice_Barre As Integer
Val_Int = Val_CC / Val_Div
Do While Val_Int > 9 Or Val_Int < 1
If Val_Int = 0 Then
Val_Div = Val_Div / 10
Val_Int = Val_CC / Val_Div
Else
Val_Div = Val_Div * 10
Val_Int = Val_CC / Val_Div
End If
Loop
Indice_Barre = 1
Code_couleur Val_Int, Indice_Barre
Val_CC = Val_CC - (Val_Int * Val_Div)
Val_Div = Val_Div / 10
Val_Int = Val_CC / Val_Div
Do While Val_Int > 9 Or Val_Int < 1
If Val_Int = 0 Then
Val_Div = Val_Div / 10
Val_Int = Val_CC / Val_Div
Else
Val_Div = Val_Div * 10
Val_Int = Val_CC / Val_Div
End If
Loop
Indice_Barre = 2
Code_couleur Val_Int, Indice_Barre
Val_CC = Val_CC - (Val_Int * Val_Div)
Val_Div = Val_Div / 10
Val_Int = Val_CC / Val_Div
Do While Val_Int > 9 Or Val_Int < 1
If Val_Int = 0 Then
Val_Div = Val_Div / 10
Val_Int = Val_CC / Val_Div
Else
Val_Div = Val_Div * 10
Val_Int = Val_CC / Val_Div
End If
Loop
Indice_Barre = 3
Code_couleur Val_Int, Indice_Barre
[/code]
Si il y a des erreurs grossières dites-le moi...
Je vous remercie pour m'avoir lu...
Amicalement Philou