Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 calcul dans une textbox

  • Initiateur de la discussion Initiateur de la discussion moulou
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

moulou

XLDnaute Nouveau
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.
 
Bonsoir le forum
Bonsoir moulou

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é


Code:
TextBox16 = Round(TextBox11.Value) / 5000 * 12 + 18
Bonne continuation
@+ Eric c
 
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)
 
Bonjour,
Un exemple relevé dans ton code:
VB:
TextBox16 = Application.WorksheetFunction.Ceiling_Math(TextBox11.Value, 5000) / 5000 * 12 + 18
Cette fonction attend un Double en Arg1.
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
 
Eric;
Bonjour dudu2,
Au final, q'est ce qu'il faut écrire comme code et formule ?
A bientot.
 
Bonsoir le forum
Bonjour moulou, Dudu2

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
 

Pièces jointes

Bonjour tout le monde .
Je viens de mettre au point une solution pas très esthétique en ajoutant une condition.
VB:
If TextBox2 = "" Then TextBox2.Value = 0
TextBox16 = Application.WorksheetFunction.Ceiling_Math(TextBox11.Value, 5000) / 5000 * 12 + 18
If TextBox11 = 0 Then TextBox16 = 0

Cela au moins m'evitera le message d'erreur quand la textebox est vidée.
Merci.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
385
Réponses
2
Affichages
83
  • Question Question
Microsoft 365 Lecture vocale USF
Réponses
5
Affichages
168
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…