Problème Boucles de décision et Userform

  • Initiateur de la discussion Initiateur de la discussion Adriano43
  • 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 !

Adriano43

XLDnaute Occasionnel
Bonjour à toutes et à tous,

Bien qu'ayant bien progressé grâce aux nombreux conseils disponibles sur le forum, je vous avoue être coincé depuis quelques jours sur le problème suivant qui est d e plus assez urgent:
J'ai crée un userform.
Il comporte diverses Textbox. La textBox7=TextBox1+TextBox5. Un code est noté dans la TextBox2
Le résultat doit être affiché dans la textBoxA.
La textbox2 peut contenir 5 listes de codes différents.
En fonction du code inscrit dans la TextBox2 et du chiffre saisi en TextBox1, le calcul du code doit donné le résultat dans la TextBoxA.
Cependant, mon code ne tient pas compte des conditions et éxécute tout le temps la dernière instructions.
Pouvez-vous m'aider SVP?

Cordialement

Adriano
 

Pièces jointes

Re : Problème Boucles de décision et Userform

Up up up!!!!
Plus sérieusement, j'ai testé la valeur qu'il prenait en compte dans la textBox1 en insérant une MsgBox, le code prend en compte la bonne valeur et le bon code saisi par l'utilisateur, il devrait donc éxécuter l'instruction correspondante.
Mais non, il éxécute systématiquement la dernière ligne du code même si les conditions ne correspondent pas à cette instruction.

Des idées pour m'aider SVP?

Merci d'avance
 
Re : Problème Boucles de décision et Userform

Bonjour,

pas tout compris de ton code, mais une textbox renvoie une donnée de type "string" (texte), il y a sans doute lieu de convertir la valeur avec la fonction "CDbl" :
Code:
CDbl(TextBox1)

les instructions comme celle qui suit me semblent pas correctes...
Code:
ElseIf Trim(101 <= TextBox1 <= 150) Then A = 402.48
bon après midi
@+
 
Re : Problème Boucles de décision et Userform

Bonjour Pierrot93,

Merci de ta réponse.
Je ne pense pas que le Cdbl soit indispensable pour la TextBox2 car le contenu n'est pas utilisé dans le calcul, en fonction de cette valeur ET de la condition de la TextBox1 sera appliquée telle ou telle formule.
J'ai essayé de la manière suivante, mais le code éxécute toujours la dernière instructions quelque soit les conditions:

If TextBox1 < 51 And Val(TextBox2) = "2" Or "27" Or "28" Or "35" Or "44" Or "54" Or "57" Or "59" Or "60" Or "62" _
Or "67" Or "68" Or "75" Or "76" Or "77" Or "78" Or "80" Or "90" Or "91" Or "92" Or "93" Or "94" Or "95" Then
A= 309.73
End If
If 51 <= TextBox1 <= 100 And Val(TextBox2) = "2" Or "27" Or "28" Or "35" Or "44" Or "54" Or "57" Or "59" Or "60" Or "62" _
Or "67" Or "68" Or "75" Or "76" Or "77" Or "78" Or "80" Or "90" Or "91" Or "92" Or "93" Or "94" Or "95" Then
A = 309.735
End If
If 101 <= TextBox1 <= 150 And Val(TextBox2) = "2" Or "27" Or "28" Or "35" Or "44" Or "54" Or "57" Or "59" Or "60" Or "62" _
Or "67" Or "68" Or "75" Or "76" Or "77" Or "78" Or "80" Or "90" Or "91" Or "92" Or "93" Or "94" Or "95" Then
A = 365.42

Avez vous une idée?
 
Re : Problème Boucles de décision et Userform

Re,

vois pas trop ce qu'un test codé ainsi peut renvoyer ....
Code:
If TextBox1 < 51 And Val(TextBox2) = "2" Or "27" Or "28" Or "35" Or "44" Or "54" Or "57" Or "59" Or "60" Or "62" _
Or "67" Or "68" Or "75" Or "76" Or "77" Or "78" Or "80" Or "90" Or "91" Or "92" Or "93" Or "94" Or "95" Then
A= 309.73
End If
 
Re : Problème Boucles de décision et Userform

Pardon pour la mise ne page, voici le code

If TextBox1 < 51 And Val(TextBox2) = "2" Or "27" Or "28" Or "35" Or "44" Or "54" Or "57" Or "59" Or "60" Or "62" Or "67" Or "68" Or "75" Or "76" Or "77" Or "78" Or "80" Or "90" Or "91" Or "92" Or "93" Or "94" Or "95" Then
A= 309.73
End if

Ainsi si La textboxa est inférieure à 51 et que la textBox2 a une valeur égale l'une des valeur citée alors A=309.73
Enfin, c'est ce que je souhaite coder tout du moins.
 
Re : Problème Boucles de décision et Userform

Re,

peut être le faire ainsi :
Code:
If Val(TextBox1) < 51 And (Val(TextBox2) = 2  Or  Val(TextBox2) = 27 Or Val(TextBox2) = 28 Or Val(TextBox2)= 35) Then

je te laisse compléter / adapter....
 
Re : Problème Boucles de décision et Userform

Re,

J'ai essayé votre code, mais rien n'y fait le code ne me retourne plus aucun résultat et me souligne en rouge la ligne suivante:

If 151 <= Val(TextBox1) <= 200 And Val(TextBox2) = 2 Or Val(TextBox2) = 27 Or Val(TextBox2) = 28 Or Val(TextBox2) = 35 Or
Val(TextBox2) = 44 Or Val(TextBox2) = 54 Or Val(TextBox2) = 57 Or Val(TextBox2) = 59 Or Val(TextBox2) = 60 Or _
Val(TextBox2) = 62 Or Val(TextBox2) = 67 Or Val(TextBox2) = 68 Or Val(TextBox2) = 75 Or Val(TextBox2) = 76 Or _
Val(TextBox2) = 77 Or Val(TextBox2) = 78 Or Val(TextBox2) = 80 Or Val(TextBox2) = 90 Or Val(TextBox2) = 91 Or _
Val(TextBox2) = 92 Or Val(TextBox2) = 93 Or Val(TextBox2) = 94 Or Val(TextBox2) = 95 Then A = 439.52

Je vous avoue être perdu et n'avoir aucunes idées de solution.

Merci de votre aide
 
Dernière édition:
Re : Problème Boucles de décision et Userform

Petite précision:

J'ai tout de même adapté le code à l'ensemble des conditions en enlevant celle qui étaient en rouge, mais le résultat reste le même, à savoir que le code applique la dernière ligne de code sans tenir compte des conditions et donc des valeurs de la Textbox1 et Textbox2...😕
 
Re : Problème Boucles de décision et Userform

If 151 <= Val(TextBox1) <= 200 And Val(TextBox2) = 2 Or Val(TextBox2) = 27 Or Val(TextBox2) = 28 Or Val(TextBox2) = 35 Or
Val(TextBox2) = 44 Or Val(TextBox2) = 54 Or Val(TextBox2) = 57 Or Val(TextBox2) = 59 Or Val(TextBox2) = 60 Or _
Val(TextBox2) = 62 Or Val(TextBox2) = 67 Or Val(TextBox2) = 68 Or Val(TextBox2) = 75 Or Val(TextBox2) = 76 Or _
Val(TextBox2) = 77 Or Val(TextBox2) = 78 Or Val(TextBox2) = 80 Or Val(TextBox2) = 90 Or Val(TextBox2) = 91 Or _
Val(TextBox2) = 92 Or Val(TextBox2) = 93 Or Val(TextBox2) = 94 Or Val(TextBox2) = 95 Then A = 439.52

Le code ci-dessus doit analyser la textbox1, si la valeur est comprise entre 151 et 200 ET que la TextBox2 contient une des valeurs citées alors A=439.52

Je débute en vba depuis 1 mois, il est ainsi fort possible que le code contienne des erreurs...

Comment le corriger?
 
Re : Problème Boucles de décision et Userform

Re,

regarde ceci, attention aux parenthèses :
Code:
If (Val(TextBox1) >= 151 And Val(TextBox1) <= 200) And (Val(TextBox2) = 2 Or Val(TextBox2) = 27 Or Val(TextBox2) = 28 Or Val(TextBox2) = 35) Then
 
Re : Problème Boucles de décision et Userform

Bonjour Pierrot93,

Je reviens vers vous car je rencontre actuellement une difficulté que je ne sais pas résoudre concernant le même fichier.
On avait vu précédemment qu'une combinaison de la valeur de la TextBox1 et de la TextBox2 donnait une valeur à A.
J'ai besoin d'inclure de nouvelles possibilités:
La valeur de A serait donnée par la somme de la combinaison TextBox1-TextBox2 et de la combinaison TextBox3-TextBox4.
Je pensais déclarer comme variable "temporaire2" admettons, la valeur de la combinaison TextBox3-TextBox4 et "temporaire1" admettons, la valeur de la combinaison TextBox1-TextBox2.
Je souhaiterais que la valeur de A= temporaire1 + temporaire 2.
Mais cela ne fonctionne pas, avez vous une idée?
N'hésitez pas à me demander de plus amples précisions

Cordialement
 
- 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

E
Réponses
3
Affichages
2 K
el_sbe
E
B
  • Question Question
Réponses
3
Affichages
1 K
L
Réponses
2
Affichages
700
P
Réponses
7
Affichages
1 K
plaiiz
P
Retour