Bonjour,
Voila, je galère depuis quelque temps sur quelque chose d'à priori trivial mais que je ne saisis pas

Dans mon appli, j'ai 2 valeurs S et C entrées a la main dont les plages sont les suivantes :
S : -11.00 à +6.00
C : -6.00 à +6.00

selon 2 cas, je dois afficher des valeurs dans des textbox appelées SIMAGE et CIMAGE selon :
(Je ne traiterai que le cas de SIMAGE car c'est lui qui me pose probleme)

Cas 1 : S < "0.00" et C < "0.00"
SIMAGE = S + ajouts

Cas 2 : S < "0.00" et C = "0.00"
SIMAGE = S + ajouts

j'ai fait ceci : (.valS est défini précédemment dans le code)
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
 'Traitement de SIMAGE
            'plage de S : +6.00 à -11.00 bornes comprises 
            ‘traitement de la valeur de ajouts
            Dim ajouts As Double
            Select Case .valS
                Case Is > -6     ' entre -5.99 et +6.00
                    ajouts = 0
                Case Is > -7     ' entre -6.00 et -6.99
                    ajouts = 0.25
                Case Is > -8.5  ' entre -7.00 et -8.49
                    ajouts = 0.5
                Case Is > -9.5  ' entre -8.50 et -9.49 
                    ajouts = 0.75
                Case Is > -10.5 ' entre -9.49 et -10.49 
                    ajouts = 1
                Case Else         ' entre -10.50 et -11.00
                    ajouts = 1.25
            End Select
 
            If S.Text < "0" And C.Text < "0" Then
                SIMAGE.Text = (.valS + ajouts).ToString("0.00")
                'on passe en VERT si ajout <> 0
                If ajouts <> 0 Then
                    SIMAGE.BackColor = Color.DarkGreen
                    LabelWL.Visible = True
                    RectangleShapeWL.Visible = True
                Else
                    SIMAGE.BackColor = Color.LightSlateGray
                    LabelWL.Visible = False
                    RectangleShapeWL.Visible = False
                End If
            End If
 
            If S.Text < "0" And C.Text = "0" Then
                SIMAGE.Text = (.valS + ajouts).ToString("0.00")
                'on passe en VERT si ajout <> 0
                If ajouts <> 0 Then
                    SIMAGE.BackColor = Color.DarkGreen
                    LabelWL.Visible = True
                    RectangleShapeWL.Visible = True
                Else
                    SIMAGE.BackColor = Color.LightSlateGray
                    LabelWL.Visible = False
                    RectangleShapeWL.Visible = False
                End If
            End If
dans les 2 cas j'ai S < 0 et SIMAGE.Text = (.valS + ajouts).
Seule la valeur de C diffère. Je devrais donc avoir la même valeur de SIMAGE pour les 2 cas.

Eh bien non

Exemple : S = -7.5 et C = -4.5
me donne SIMAGE = -7.00 ce qui est juste

Je laisse S à -7.5 et passe C à 0 pour le second cas
j'obtiens SIMAGE = -7.50 soit SIMAGE = S

Jai la berlue ou que se passe t'il ????????
Merci bien