Quelle syntaxe pour le code ci-dessous ?
Si la valeur est comprise en 5 et 10 la longueur de la TextBox sera de 120
Private Sub TextBox9_Change()
Select Case Me.TextBox9.Value
Case Is <= 5
Me.TextBox9.Width = 60 Case Is > 5 <= 10
Me.TextBox9.Width = 120
End Select
End Sub
Bonjour Francky79
ce que j'ai mis et qui semble répondre à la demande(perfectible)
VB:
Private Sub TextBox9_Change()
Select Case True
Case Me.TextBox9.Value <= 5
Me.TextBox9.Width = 60
Case Me.TextBox9.Value > 5 And Me.TextBox9.Value <= 10
Me.TextBox9.Width = 120
End Select
End Sub
Private Sub TextBox9_Change()
Dim v&
v = CLng(Val(TextBox9))
If v >= 5 And v <= 100 Then TextBox9 = v: TextBox9.Width = v + 55
End Sub
Private Sub TextBox9_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim v&
v = CLng(Val(TextBox9))
If v >= 5 And v < 100 Then TextBox9 = v + 1 'incrémente
End Sub
La 1ère dimensionne la TextBox, la 2ème l'incrémente avec le double-clic.
Par contre j'aurais voulu que la longueur de la TextBox9 s'incrémente toute seule suivant sa valeur.
Si valeur = 5 longueur TextBox9 20 si 10 longueur 40 et ainsi de suite .
La valeur de la TextBox9 pourra être de 1, 2, 3, 4, jusqu'à 100.
Voir fichier en pièce jointe.
Private Sub TextBox1_Change()
Dim LB 'limite Basse
LB = 5
With TextBox1
.Width = Application.Min(Array(60, ((Val(.Value) + 1) * 10))(Abs(Val(.Value) > LB And Val(.Value) < 100)), 100)
End With
End Sub
Private Sub UserForm_Initialize()
With Me
AncLargeur = .TextBox9.Width 'On récupére la Largeur a l'ouverture du Userform
.TextBox9.Tag = AncLargeur 'On la stock dans le tag du TextBox
'on pourrait faire plus cour Lol'
End With
End Sub
Private Sub TextBox9_Change()
Dim v As Double, NewWidth As Double
With Me.TextBox9
AncLargeur = .Tag 'On récupére la largeur origine'
v = CLng(Val(.Value))'On récupére la Value entrée dans le TextBox'
Select Case True 'on vérifie la valeur entrée
Case v >= 5 And v <= 100 'si correspond'
NewWidth = AncLargeur + v 'On ajoute a la valeur origine
Case Else
NewWidth = .Tag 'On récupére la valeur origine'
End Select
.Width = NewWidth 'on change la valeur de la largeur
End With
End Sub
Merci à vous deux pour ces solutions.
Patricktoulon, non ta solution pour la scrollbar me convient, mais maintenant il faut que je l'implante dans mon fichier final, et là c'est une autre histoire.