Bonjour tout le monde.
Je viens de mettre au point un UF avec des textbox pour des opérations de calcul . Le problème c'est que à chaque fois de vider une textbox un message d'erreur
"incompatibilité de type" , je cherche une solution .Merci d'avance.
Alors là... je n'ai jamais utilisé et ne connais pas la fonction que tu utilises. Après recherches, il semblerait que cette fonction arrondisse à l'entier le plus proche !! ... Je serais tenté de te dire de tenter avec la propriété "Round" mais sans conviction car j'ignore ce que tu désires faire. Désolé
Bonsoir le forum
Bonsoir Eric
Croyez moi je suis nul en vba malgré plusieurs heures passées à chiffrer et déchiffrer.
la fonction trouver sur internet ,s'assortit bien à mon exemple ;
Pour virer une somme de 10000 da par la poste
la poste prélève ou taxe la somme de 12 da pour chaque somme plafonné à 5000 da + 18 da donc ;
10000/5000=(2 fois 5000)
2*12 =24 da
24 da+18 da=(42 da frais de poste)
la fonction plafonne à 5000
équivalent excel est ; =plafond( 10000,5000)
Tu lui passes un String.
Il faut lui passer CDbl(TextBox11.Value) en Arg1 à supposer que TextBox11.Value soit numérique.
D'autre part es-tu sûr de tes regroupements de chiffres dans / 5000 * 12 + 18 ?
La division sera faite par 5000 * 12 (60000) et 18 sera ajouté au résultat final.
Même si les priorités implicites s'appliquent il vaut toujours mieux parenthéser les calculs pour une bonne visibilité.
Bonjour le forum
Bonjour moulou
Bonjour Dudu2.... Oupsssss.... pas rafraîchi en temps utile (Je vois que l'on est Ok sur l'argument n°1).
N'étant pas un expert en Vba, j'ai regardé ta fonction sur le net et il explique l'argument n°1 doit être une variable Double (donc décimale). Pour ta part, tu veux entrer un entier ?
Je continue à regarder dans la journée (beaucoup d'occupations ce w.end).
Bonne journée à toutes & à tous
@+ Eric c
Tu lui passes un String.
Il faut lui passer CDbl(TextBox11.Value) en Arg1 à supposer que TextBox11.Value soit numérique.
D'autre part es-tu sûr de tes regroupements de chiffres dans / 5000 * 12 + 18 ?
La division sera faite par 5000 * 12 (60000) et 18 sera ajouté au résultat final.
Même si les priorités implicites s'appliquent il vaut toujours mieux parenthéser les calculs pour une bonne visibilité.
Je ne sais pas si cela répondra à ta demande mais je mets ce fichier (à améliorer) concocté durant les infos. Il faudra si cela correspond à tes besoins , rendre invisibles les TextBoxs 2 & 3.
VB:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox2.Value = Round(TextBox1.Value) / 5000
TextBox3.Value = Round(Val(TextBox2.Value))
TextBox4.Value = TextBox3.Value * 12
TextBox5.Value = Val(TextBox1 - TextBox4) - 18
End Sub
Cela fait toujours plaisir de savoir que la contribution a aidé (ou pas).
N'hésitez pas à marquer le sujet comme résolu le cas échéant ou à liker.
Bonne soirée à toutes & àtous
@+ Eric c
Bonjour tout le monde,
La fonction plafond répond à merveille à mon projet ,le seul problème est que j'aimerai que mes textbox
quand elles sont vidées ne renvoient pas d'erreur.