Bonjour,
Voici mon problème.

J'ai besoin d'effectuer des calculs à partir d'un formulaire qui parcourt tous les enregistrements d'une table.
Sur ce formulaire j'ai un champ resultat correspondant à un champs de la table et j'aimerai que chaque fois que le formulaire arrive sur un enrigistrement, le calcul de resultat se fasse et naturellement le champs resultat sera rempli.

Le resultat est calculé suivant une condition

Voici le code que j'ai écrit mais je constate que les resultats par tranches ne sont pas exacts. Quelqu'un peut m'aider à améliorer.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
Private Sub Form_Current()
Select Case Me.CHAMPSTEST .Value
 
    Case Is <= 6000 '3%
        Me.Resultat.Value = Me.CHAMPSTEST .Value * 0.03
 
    Case Is >= 6001 <= 10500 '5%
 
     Me.Resultat.Value = ((Me.CHAMPSTEST .Value - 6001) * 0.05) + 180
 
    Case Is >= 10501 <= 17400 '10%
 
        Me.Resultat.Value = ((Me.CHAMPSTEST .Value - 10501) * 0.1) + 404.35
 
    Case Is >= 17401 <= 27500 '15%
 
        Me.Resultat.Value = ((Me.CHAMPSTEST .Value - 17401) * 0.15) + 1094.85
 
    Case Is >= 27501 <= 41500 '20%
 
        Me.Resultat.Value = ((Me.CHAMPSTEST .Value - 27501) * 0.2) + 2609.7
 
    Case Is >= 41501 <= 65700 '25%
 
        Me.Resultat.Value = ((Me.CHAMPSTEST .Value - 41501) * 0.25) + 5409.5
 
    Case Is >= 65701 <= 100000 '30%
 
        Me.Resultat.Value = ((Me.CHAMPSTEST .Value - 65701) * 0.3) + 11459.25
 
    Case Is >= 100001 <= 140500 '35%
 
         Me.Resultat.Value = ((Me.CHAMPSTEST .Value - 100001) * 0.35) + 21748.95
 
    Case Is >= 100001 <= 140500 '40%
 
        Me.Resultat.Value = ((Me.CHAMPSTEST .Value - 100001) * 0.4) + 21748.95
 
    Case Is >= 174301 <= 194300 '45%
 
        Me.Resultat.Value = ((Me.CHAMPSTEST .Value - 174301) * 0.45) + 49443.2
 
    Case Is > 194300 '50%
 
        Me.Resultat.Value = Me.CHAMPSTEST .Value * 0.3
 
End Select
 
End Sub
Merci d'avance pour votre aide.