Manque dans une formule

accoman

XLDnaute Junior
Bonsoir a tous
et il possible de faire changer la couleur de fond d'un
texbox dans un userform selon un resultat
ex
textbox1 =8
textbox2 =6
quant je saisie le texbox2 je voudrais que si le chiffre
est inferieur a texbox1 la couleur de fond du texbox2
change et par contre si est egal qu'il change autre
couleurs mais s'il est superieur qu'il reste normal
J’ai bien trouve ça mais il y a un hic j’ai l’impression qu’il manque un bout de formule

Private Sub TextBox2_AfterUpdate()
Select Case TextBox2.Value
Case Is TextBox2.BackColor = RGB(255, 0, 0) 'rouge
Case Is = TextBox1.Value
TextBox2.BackColor = RGB(0, 255, 0) 'vert
Case Else
TextBox2.BackColor = RGB(255, 255, 255) 'blanc
End Select
End Sub

J'ai mis en rouge la ligne qui semble posé problème
Si quelqu'un pouvais voir ce qui cloche
Amicalement
 

kjin

XLDnaute Barbatruc
Re : Manque dans une formule

Bonsoir,
A adapter
Code:
Select Case TextBox2
Case Is = "", Is > TextBox1
TextBox2.BackColor = &H80000005
Case Is < TextBox1
TextBox2.BackColor = vbRed
Case Is = TextBox1
TextBox2.BackColor = vbGreen
End Select
A+
kjin
 

CBernardT

XLDnaute Barbatruc
Re : Manque dans une formule

Bonsoir accoman et le forum,

La syntaxe pourrait être du style :

Private Sub TextBox2_Change()
If TextBox2 = TextBox1 Then 'Egalité
TextBox2.BackColor = 4
ElseIf TextBox2 < TextBox1 Then 'Inférieur
TextBox2.BackColor = 3
ElseIf TextBox2 > TextBox1 Then 'Supérieur
TextBox2.BackColor = 2
End If
End Sub

Peut-être faudra-t-il modifier les couleurs ?
 

JNP

XLDnaute Barbatruc
Re : Manque dans une formule

Bonsoir le fil :),
A tester
Code:
Private Sub TextBox2_AfterUpdate()
Select Case Val(TextBox2)
Case Is > Val(TextBox1)
TextBox2.BackColor = RGB(255, 0, 0) 'rouge
Case Is < Val(TextBox1)
TextBox2.BackColor = RGB(0, 255, 0) 'vert
Case Else
TextBox2.BackColor = RGB(255, 255, 255) 'blanc
End Select
End Sub
Bonne soirée :cool:
 

Hippolite

XLDnaute Accro
Re : Manque dans une formule

Bonsoir à tous,

Visiblement chacun a ses habitudes, j'y ajoute la mienne :
VB:
Private Sub TextBox2_AfterUpdate()
	Select Case Cdbl(TextBox2.Text)-CDbl(TextBox1.Text)
		Case Is =  0
			TextBox2.BackColor = RGB(255, 255, 255) 'blanc
		Case Is > 0
			TextBox2.BackColor = RGB(255, 0, 0) 'rouge
		Case Else
			TextBox2.BackColor = RGB(0, 255, 0) 'vert
	End Select
End Sub
TextBox contient du texte, il faut donc le convertir en nombre pour pouvoir comparer les nombres et non pas les caractères, en laissant excel convertir on ne sait parfois comment.
Je préfère CDbl à Val pour convertir car Val ne reconnaît que le point comme séparateur décimal.
La comparaison = 0 peut parfois présenter une difficulté avec les arrondis, ce n'est pas le cas ici car les deux expressions viennent directement des mêmes chaînes de caractères, sinon il aurait fallu définir un petit intervalle autour de zéro.

Pour la culture générale :
Select case :
Ce lien n'existe plus
TextBox :
Ce lien n'existe plus
CDbl et Val :
Ce lien n'existe plus

Bonne nuit à tous
 

accoman

XLDnaute Junior
Re: Re : Manque dans une formule

Bonjour à tous
Merci kjin, CBernardT ,JNP, Hippolite pour vos réponses
J’ai enfin pu récupère mon classeur je n’arrive pas a voir ou sa cloche j’ai teste ce que vous m’avers propose j’ai donc un textbox 23 qui me donne mon stock alerte un textbox21 qui me donne le stock en cour si je fais une sortie de produit en textbox 26 il modifie directement le stock (textbox21) sa s’est bon mais le textbox21 ne change toujours pas de couleur
Si le stock (textbox21) et plus important que le stock alerte (textbox23) Blanc
Alors voilà ce que je recherche
Si la quantité que je veux sortir en Textbox26 ne fait pas passer mon Stock TextBox21 en dessous du Stock alerte(TextBox23) ma TextBox21 reste au vert , le chiffre doit toujours reste visible
Si la quantité que je veux sortir en TexBox26 fait passer mon Stock TextBox21 en dessous du Stock alerte TextBox23 ma TextBox21 passe au rouge , le chiffre doit toujours reste visible
Je rencontre un autre problème s’est que si je me rends compte que ma saisie d’une quantité TextBox26 et fosse je n’arrive pas annuler l’opération a ce que le TextBox 21 revienne au nombre en stock au départ. Je ne sais pas si mes explication vont vous aide a comprendre mon problème
En tout cas je remercie toute les membres de ce forum qui forme vraiment une bonne communauté
je vous joint le classeur. il y a peut être plus facile que ce que je suis en train de faire mais voilà je Bibouille pour le momment
Amicalement
 

Pièces jointes

  • Gestion.xlsm
    265.4 KB · Affichages: 63
  • Gestion.xlsm
    265.4 KB · Affichages: 70
  • Gestion.xlsm
    265.4 KB · Affichages: 69

Discussions similaires

Statistiques des forums

Discussions
312 310
Messages
2 087 119
Membres
103 478
dernier inscrit
Frederic Lagger