Besoin d'aide pour un script.[VB 2008] [Résolu]

Signaler
Messages postés
14
Date d'inscription
samedi 3 octobre 2009
Statut
Membre
Dernière intervention
10 janvier 2010
-
Messages postés
14
Date d'inscription
samedi 3 octobre 2009
Statut
Membre
Dernière intervention
10 janvier 2010
-
Bonjour.

Je suis entrain de créer un projet pour calculer le prit divers des fruit. (Oui bizarre....)

Bon. Disons que TextBox1 est le nombre de fruit a indiquer et TextBox2 est le prix.

Lorsque j'insert le nombre de fruit, le prix s'ajustera automatiquement.

On nous a donner un code mais j'aurais besoin de quelque chose d'autre car il ne conviens pas vraiment.

Le maximum de nombre de fruit que l'on peut mettre est 99.

Mais plus tu en achète, plus le prix unitaire descend.

exemple:

Pomme: 99 a 80 = 0.10$ Chaque
Pomme: 79 a 69 = 0.15$ Chaque
pomme: 68 a 58 = 0.20$ Chaque

Etc......

Mais le problème, c'est que je ne sais pas toute comment faire...

J'ai essayer comme cela:

If AppleAmount.Text < 99 And AppleAmount.Text > 86 Then
   ApplePrice.Text = Convert.ToString(Val(AppleAmount.Text) * 0.10)

ElseIf AppleAmount.Text < 85 And AppleAmount.Text > 75 Then
   ApplePrice.Text = Convert.ToString(Val(AppleAmount.Text) * 0.05)


EndIf



Mais lorsque j'entre le nombre 99, 86, 85, 75 etc... (Les chiffre qui délimite entre quelle montant le prix changera)
Le prix ne s'indique pas...

S.V.P Aider moi!
J'espère avoir été claire.
PS: Je m'excuse pour les faute d'orthographe je fais le plus attention possible!

6 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Oui, c'est le bon endroit.
Relit ce que tu as écrit :
If AppleAmount.Text < 99 And AppleAmount.Text > 86 Then
signifie que cette condition sera vraie si le chiffre est inférieur à 99 et supérieur à 86
Donc, valable pour tous les chiffres : 98, 97, 96, 95, ..., 89, 88 et 87
Dans ton énnoncé, tu parles des barrières 99 et 80 : déjà, ce ne sont pas les mêmes que ton code.
Pense à utiliser >= ou <= pour prendre en compte la limite elle-même.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut
Le principe de ton code semble correct à l'erreur près que les valeurs ne correspondent pas à ton énnoncé (quantité maxi/mini et tarifs) !
Si le prix ne change pas, c'est que le code n'est pas exécuté.
Où as-tu placé ce code ?
Il semblerait logique de le placer dans AppleAmount_Change

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
14
Date d'inscription
samedi 3 octobre 2009
Statut
Membre
Dernière intervention
10 janvier 2010

Voila sous quoi il est placer:

Private Sub AppleAmount_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AppleAmount.TextChanged
If AppleAmount.Text < 99 And AppleAmount.Text > 86 Then
   ApplePrice.Text = Convert.ToString(Val(AppleAmount.Text) * 0.10)

ElseIf AppleAmount.Text < 85 And AppleAmount.Text > 75 Then
   ApplePrice.Text = Convert.ToString(Val(AppleAmount.Text) * 0.05)


EndIf


    End Sub

Messages postés
14
Date d'inscription
samedi 3 octobre 2009
Statut
Membre
Dernière intervention
10 janvier 2010

Merci, je vais essayer cela. J'attendais votre réponse avec impatience!

Bonne soirée!
Messages postés
14
Date d'inscription
samedi 3 octobre 2009
Statut
Membre
Dernière intervention
10 janvier 2010

Merci beaucoup encore une fois.

Juste une dernière petite question.

Lorsque je test, tout fonctionne correctement, mais seulement, si j'efface le chiffre au complet, il me marque une erreur. Mais si je laisse toujours au moins 1 chiffre, il n'aura pas d'erreur.

Y aurait-il une méthode pour empêcher que le chiffre tombe a null?

Je veut dire si j'efface tout, y a-t il un moyen de que le chiffre tombe a 0 au lieu de "null"?

PS: J'utilise le mot "null" ppour signifier que la TextBox est vide.
Merci d'avance!
Messages postés
14
Date d'inscription
samedi 3 octobre 2009
Statut
Membre
Dernière intervention
10 janvier 2010

Arrrggg... Désoler du triple post, (je ne sais pas comment éditer les message)
J'ai trouver le moyens. J'ai chercher un petit peut et j'ai trouver.

Pour ceux que sa intéresse, il suffit de placer ceci avant les code dans la section de la TextBox qui définit le nombre de fruit.
Dans mon cas c'est:

If String.IsNullOrEmpty(AppleAmount.Text) Then
     AppleAmount.Text = 0