Fonction IF je pète un cable [Excel-VBA] - VB/VBA/VBS - Programmation
Marsh Posté le 26-04-2007 à 14:39:02
Bonjour,
En conservant ta façon d'écrire, il est nécessaire, avant dessus: et dessous: de "sauter ou sortir" en effet après les deux premiers end if on enchaine sur l'étiquette dessus: etc...
Cordialement
Marsh Posté le 26-04-2007 à 14:46:20
seniorpapou a écrit : Bonjour, |
HELLO merci pour ta reponse, de ce que j'ai compris, j'ai écrit ca
milieu:
If TextBox6.Value > TextBox1.Value Then
If TextBox6.Value < TextBox2.Value Then
Label16.Caption = "milieu"
GoTo suite
Else: GoTo dessus
End If
End If
dessus:
If (TextBox6.Value > TextBox2.Value) Then
Label16.Caption = "dessus"
GoTo suite
Else: GoTo dessous
End If
dessous:
If TextBox6.Value < TextBox1.Value Then
Label16.Caption = "dessous"
Else: GoTo suite
End If
suite:
end sub
mais ca ne fonctionne toujours pas lorsque la valeur est au milieu
Marsh Posté le 26-04-2007 à 15:06:53
Je ne sais pas pourquoi ton code ne fonctionne pas...
En revanche tu peu xsimplifier ton code ainsi :
If TextBox1.Value < TextBox6.Value Then
If TextBox6.Value < TextBox2.Value Then
Label16.Caption = "milieu"
Else
Label16.Caption = "dessus"
End If
else
Label16.Caption = "dessous"
End If
Peut-être que ton erreur va disparaitre
Marsh Posté le 26-04-2007 à 15:06:57
Re,
tes textbox contiennent du texte il faut les convertir si tes mini maxi etc.. sont en numérique
Cordialement
Marsh Posté le 26-04-2007 à 15:25:41
Tu peux mettre par exemple:
Dim min As Integer
Dim max As Integer
Dim calc As Integer
min = CInt(TextBox1.Value)
max = CInt(TextBox2.Value)
calc = CInt(TextBox6.Value)
If calc < min Then
Label16.Caption = "dessous"
Else
If calc > max Then
Label16.Caption = "dessus"
Else
Label16.Caption = "milieu"
End If
End If
si = min ou = max sont considérés comme "milieu"
pour les conversions tu tapes conversion dans le help VB et regardes fonctions de conversion
Cordialement
Marsh Posté le 26-04-2007 à 15:39:30
seniorpapou a écrit : Re, |
comment on fait ca ? dans les propriétés des textbox on peut pas choisir le format...
Marsh Posté le 26-04-2007 à 15:52:00
seniorpapou a écrit : Tu peux mettre par exemple: |
yes, ca fonctionne, merci beaucoup pour ton aide. C'est pourtant quelque chose d'assez simple mais depuis hier j'essaie de faire afficher milieu quand il faut et je n'ai jamais réussi, merci encore
Marsh Posté le 26-04-2007 à 14:27:00
Bonjour a tous, je vous explique j'ai un petit probleme avec la programmation dans excel, j'ai un userform avec 3 text box.
Text box 1 = prix mini
Text box 2 = prix maxi
Text box 6 = prix calculé
En gros je veux comparer à chaque fois le prix calculé aux prix mini et maxi :
Si le prix calculé est inférieur --> commentaire
Si le prix calculé est supérieur --> commentaire
Si le prix calculé est entre les 2 --> commentaire
donc tout logiquement j'ai fait ce code là :
If TextBox1.Value < TextBox6.Value Then
If TextBox6.Value < TextBox2.Value Then
Label16.Caption = "milieu"
Else: GoTo dessus
End If
End If
dessus:
If (TextBox6.Value > TextBox2.Value) Then
Label16.Caption = "dessus"
Else: GoTo dessous
End If
dessous:
If TextBox6.Value < TextBox1.Value Then
Label16.Caption = "dessous"
End If
Le probleme c'est que rien ne fonctionne, quand la valeur est entre les deux, le commentaire est "au dessus", quand il est au dessus, le commentaire me dit "au dessous" et jamais je n'ai le commentaire "milieu". Quelqu'un peut-il m'expliquer ou je me suis trompé ?