Question Formulaire VBA

Bonjour,

Je souhaite faire un formulaire tout simple qui renvoie la somme de 2 données, voir fichier joint.

Mais au lieu de renvoyer la somme, le programme renvoie les 2 nombres, l'un à coté de l'autre (comme une concaténation...).

Voici :

MsgBox S + T

S étant le 'Name' de mon premier TextBox et T celui du second. Valeur renvoyée ST (au lieu de S+T)...

C'est surprenant, surtout que si je fais la différence des 2 nombres, ça marche !

Merci de votre aide.

10formulaire1.xlsm (20.19 Ko)

Bonjour,

MsgBox Val(S) + Val(T)

Cordialement.

Merci ! quel rapidité !

Mais pourquoi mettre 'val' avant la variable ?

Si on fait la différence (ou multiplication, division)

MsgBox S - T

-> Ca marche.

Dams51

Re,

Tu peux faire aussi bien :

MsgBox WorksheetFunction.Sum(S, T)

MsgBox S - 0 + T

MsgBox --S + T

etc.

Une TextBox, par définition contient des valeurs texte. Tu lui appliques un opérateur ambivalent pouvant être utilisé pour concaténer... VBA choisit de concaténer ! Pour l'empêcher il faut un élément qui force la conversion en nombre par une opération. Tu peux aussi utiliser des fonctions de conversion, ou affecter les valeurs à des variables numériques...

Cordialement.

Re,

Merci pour ces précisions !

Dams51

Rechercher des sujets similaires à "question formulaire vba"