Microsoft 365 Valeur dans TextBox compris entre

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 !

Francky79

XLDnaute Occasionnel
Bonjour,

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

Merci de votre aide,
 
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
Jean marie
 
Bonsoir Francky79, ChTi160,

Vous pouvez utiliser ces 2 macros :
VB:
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.

A+
 
Merci Job75,

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.

Merci pour ton aide.
 

Pièces jointes

Bonjour le Fil

ma proposition de ce que j'ai compris !
VB:
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
ceux-ci est surement perfectible Lol
Jean marie
 
- 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

Réponses
7
Affichages
116
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
94
Réponses
18
Affichages
248
Réponses
4
Affichages
166
Retour