Procedure VB

Résolu/Fermé
Utilisateur anonyme - 9 oct. 2010 à 09:58
 Utilisateur anonyme - 23 sept. 2014 à 15:58
Bonjour,


J'aimerais créer une procédure/fonction sur VB qui se présenterait sous cette forme

Public Sub cout(ByVal k As String, ByVal c As Char)

Avec c soit un + soit un -

Et qui résoudrait:

If k= " " then calorie = calorie + c + 30

Cependant, comme je m'y attendais, cela ne marche pas, savez vous comment je peux faire?

Je vous remercie!!!

4 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 303
9 oct. 2010 à 10:32
Bonjour
If k= " " then calorie = calorie + c + 30
???

Calorie c'est quoi ?
K "égale" un espace ?

dis plutôt ce que tu cherches à faire, ce sera + efficace :-)

Dans l'attente

0
Utilisateur anonyme
9 oct. 2010 à 11:00
En fait,

Le but de mon programme est de créer une interface permettant de calculer l'apport calorifique d'un personne durant la journée.

Et au lieu de créer une base de données (ce que je ne sais pas faire, peut être est ce plus facile?), j'ai fait deux listes sur mon interface, une première dans laquelle s'affiche la liste des différents aliments (boisson, viande,...) et une deuxième où s'ajoute les aliments choisis (donc mangés) par l'utilisateur.

Ainsi, au moment de la validation, mon programme doit reconnaitre l'aliment et ajouter à son "panier" (ici calorie) le nombre de calorie correspondant à l'aliment.

Seulement, si l'utilisateur s'est trompé, on doit enlever la valeur correspondante à son panier. Et comme j'ai plein de Case...(pour ma base de données calorifique), j'ai préféré créer une procédure Public Sub cout(ByVal k As String, ByVal c As Char) où j'aimerais que c soit un + pour la validation ou un - pour la suppression de l'aliment sélectionné.

J'espère que j'ai été plus claire et j'attends votre réponse avec impatience.
Peut être avez vous d'autres idées à me donner?

Merci beaucoup!
0
Zakapuce Messages postés 64 Date d'inscription mercredi 2 janvier 2008 Statut Membre Dernière intervention 5 août 2011 7
9 oct. 2010 à 11:15
Bonjour le forum,

Dans un premier temps : "ByVal c As Char"

Char n'est pas un type de variable reconnu par VB, sauf si le type Char a été défini par l'utilisateur.

Deuxièmement : "calorie = calorie + c + 30" sera reconnu comme une concaténation et non comme une addition.

Un select Case ferait bien l'affaire ici:

Select Case c
     Case "+"
         calorie = calorie + 30
     case "-"
         calorie = calorie - 30
End Select
0
Utilisateur anonyme
9 oct. 2010 à 11:33
Oui pourquoi pas, mais cela ne va t il pas faire too much?

Parce que du coup pour tous les aliments, je vais avoir:

Public Sub cout(ByVal k As String, byval c as string??)
Select Case k
Case "-Thé glacé pour 100ml"
select case c
case "+"
Calorie = calorie + 30
case "-"
calorie = calorie - 30
end Select
Case "aliment suivant (environ une centaine)"...

Ou je suis à côté de la plaque?

Je suis vraiment débutante et du coup je connais pas les autres possibilités, pour gérer une aussi grosse base de données, en connaissez vous en une?

Merci!
0
ilovetherock
9 oct. 2010 à 20:31
Okok pas besoin d'être agressif ou quoi que ce soit! ya des gens forts en VB et moi en d'autres, on peut trés bien s'aider sans envoyer valser l'autre, non?

Enfin, bon dimanche qd même!
0
Utilisateur anonyme
23 sept. 2014 à 15:58
Bonjour,

J'aurai besoin de ce programme en toute urgence s'il a été finalisé.

Merci d'avance.
0