Utilasation de select case sur des intervales normés [Résolu]

Signaler
Messages postés
133
Date d'inscription
dimanche 23 juin 2002
Statut
Membre
Dernière intervention
3 janvier 2015
-
Messages postés
1263
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
-
Bonsoir a tous,
Lorsque je fonctionne avec de If j'ai pas de souci j'arrive a definir correctement les intervalles.
Par contre j'ai tenté avec select case et je n'y arrive pas.
si j'ai par exemple une valeur de cote de 25 ou 25.6 j'ai comme resultat 0,2 au lieu de 0,25 comment doit t'on faire pour resoudre cela car il prend juste la premiere condition alors que l'ecriture du cote case is >10 <=15 cela ne genere pas d'erreur.


    Dim cote As Double
10  cote = txtCote

20  Select Case cote

        Case Is <= 10
30          resultat = "0,15"

40      Case Is > 10 <= 15
50          resultat = "0,20"

60      Case Is > 15 <= 30
70          resultat = "0,25"

80      Case Is > 30 <= 45
90          resultat = "0,30"

100         Case Is > 45 <= 60
110             resultat = "0,40"

120         Case Is > 60
130             resultat = "Depassement"
140     End Select

Merci par avance pour votre aide

7 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
1) je n'y saisis que des valeurs numériques et avec le point comme séparateur décimal
2) j'utilise la fonction Val ===>>
dim toto as double
toto = val(matextbox.text)


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Messages postés
1263
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
24 juillet 2013
6
Salut : inutile de mettre des And
La ligne Case Is <= 15 est forcément > 10 et de même pour les autres
Dim cote As Double, resultat as string
  cote = val(txtCote.text)

  Select Case cote
      Case Is <= 10
          resultat = "0,15"
      Case Is <= 15
          resultat = "0,20"
      Case Is <= 30
          resultat = "0,25"
      Case is <= 45
          resultat = "0,30"
      Case Is <= 60
          resultat = "0,40"
      Case else
          resultat = "Depassement"
     End Select


La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.

GRENIER Alain
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
Bonjour,
Impossible de te répondre sans savoir ce qu'est exactement txtcote !
JU'espère qu'il te s'agit pas de la propriété text ou value d'une textbox nommée txtcote !
Car une textbox contient du string et non du numérique.



____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Messages postés
133
Date d'inscription
dimanche 23 juin 2002
Statut
Membre
Dernière intervention
3 janvier 2015
3
Merci pour cette reponse
textcote contient soit un nombre entier soit un nombre decimal.
je recupere la valeur du textcote qui est un textbox ou je ne saisi que des valeurs numerique entiere ou decimal ou je gere la saisie que je met dans code declarer (dim code as double)

merci j'espere que cela t'aidera d'avantage
Messages postés
133
Date d'inscription
dimanche 23 juin 2002
Statut
Membre
Dernière intervention
3 janvier 2015
3
Rebonjour à tous

Voila maintenant j'ai tenté de cette maniere ci cela à l'air d'etre correct.
Si quelqu'un à quelque chose àproposer j'accepte volontier.

    Dim cote As Double
10  cote = txtCote

20  Select Case cote

        Case Is <= 10
30          resultat = "0,15"

40      Case Is <= 15 And cote > 10
50          resultat = "0,20"

60      Case Is <= 30 And cote > 15
70          resultat = "0,25"

80      Case Is <= 45 And cote > 30
90          resultat = "0,30"

100         Case Is <= 60 And cote > 45
110             resultat = "0,40"

120         Case Is > 60
130             resultat = "Depassement"
140     End Select


salutation
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
234
C'est la méthode correcte dès lors que tes bornes sont des doubles.
Je n'aime toutefois toujours pas (mais c'est un autre problème) les mélanges entre strings (textbox) et numériques


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Messages postés
133
Date d'inscription
dimanche 23 juin 2002
Statut
Membre
Dernière intervention
3 janvier 2015
3
Merci ,
comment toi tu gere les saisies des textbox pour les valeurs numeriques
salutation