Problème avec des calculs entre texbox

Bonjour en PJ le fichier.

je pense que les problèmes se situent au niveau du format des valeurs des Me.TextBox_VALEUR_ et Me.TextBox_DOSAGE_ et une incompatibilité de type.

De plus, je pense que je n 'emploie pas la bonne méthode pour la condition :

L'idée, si la valeur de TextBox_DOSAGE_ est > = la TextBox_CIBLE_DOSAGE_ qui est multiplé par 1.3 alors la valeur est considérée comme trop élevée.

If Val(Me.TextBox_DOSAGE_.Value) >= Val(Me.TextBox_CIBLE_DOSAGE_.Value) * Plus Then

merci de votre aide

Bonjour,

En l'état ne sachant ce qu'il faut saisir, j'ai, pour ma part, un peu de mal à vraiment identifier le ou les problèmes. Pour l'instant, j'ai le message "Dosage trop élevé" qui s'affiche dès que l'on affiche la boîte de dialogue et des saisies des % "compliquées", ces 2 points sont faciles à résoudre s'ils constituent effectivement un problème.

Pourrais tu donner trois exemples avec toutes les valeurs, en spécifiant celles qui sont générées et celles qui sont saisies pour un dosage : 1) conforme, 2) trop faible ou 3) trop élevé ?

Bonjour,

L'idée, lorsque le dosage est calculé, ce qui fonctionne d'ailleurs bien, la condition est de dire :

si la valeur du dosage et supérieur à 1.3 (soit + 30%) de la valeur de la cible affichée, alors le dosage est trop élevé.

exemple :

si la TextBox_DOSAGE_ affiche 4.3% et que la TextBox_CIBLE_DOSAGE_ affiche 3.00% multiplié par ( *1.3) qui détermine la valeur haute alors 3 * 1.3 soit =3.9

alors la valeur de la TextBox_DOSAGE_ est considérée comme non conforme car elle se situe au dessus de la valeur haute qui est 3.9 de la TextBox_CIBLE_DOSAGE_

Idem avec la cible basse :

soit :

entre 2.10 % et 3.90 % résultat conforme

en dessous de 2.10% MsgBox " Le dosage est trop faible"

au dessous de 3.90 % MsgBox " Le dosage est trop élevé"

merci de votre aide

Bonjour,

Dans :

Private Sub ComboBox_VALEUR__Change()
...
If Val(Me.TextBox_DOSAGE_.Value) < Val(Me.TextBox_CIBLE_DOSAGE_.Value) * Moins Then
 MsgBox " Le dosage est trop faible"
 Me.Label_STATUT_RESULTAT_.Caption = "Dosage non conforme trop faible"

Else
If Val(Me.TextBox_DOSAGE_.Value) >= Val(Me.TextBox_CIBLE_DOSAGE_.Value) * Plus Then
 MsgBox " Le dosage est trop élevé"
 Me.Label_STATUT_RESULTAT_.Caption = "Dosage non conforme trop élevé"

End If

Le calcul ne se fait pas comme attendu car les zones "Me.TextBox_Dosage_.Value" et "Me.TextBox_CIBLE_DOSAGE" contiennent une virgule, de ce fait la fonction Val(...) tronque le chiffre à la partie entière avant de le multiplier par Plus ou Moins. Val("1,75%") = 1. Tu ne peux pas remplacer Val(...) par CDbl(...) car le % présent dans la valeur provoquera une erreur, il faut que tu passes par des variables intermédiaires.

ha oui, la je suis vraiment bloqué.

merci de ton aide

Bonjour,

J'ai modifié la procédure "ComboBox_VALEUR__Change" : ajout de 2 variables pour calculer le dosage et le dosage cible à partir de "Me.TextBox_Dosage_.Value" et "Me.TextBox_CIBLE_DOSAGE" et pouvoir les comparer.

Bonjour Cylfo, merci énormément.

Bon dimanche

Rechercher des sujets similaires à "probleme calculs entre texbox"