Agrandir une textBox selon le texte quelle contient

Toubabou

XLDnaute Impliqué
Bonjour à tous,
Pourriez-vous m'aider pour que ma TextBox3 s'agrandisse automatiquement en fonction du texte quelle contient?
Merci par avance
Toubabou
 

Pièces jointes

  • test lexique.xlsm
    271.6 KB · Affichages: 32

Toubabou

XLDnaute Impliqué
Je viens de faire un essai, effectivement si je sélectionne un mot avec une grande définition, cela fonctionne parfaitement. Par contre si par la suite l'on va sur un mot à définition courte pour revenir à nouveau à une définition longue, cela ne fonctionne plus

Capture.JPG
 

Pièces jointes

  • Capture.JPG
    Capture.JPG
    74.8 KB · Affichages: 8

jmfmarques

XLDnaute Accro
Je ne sais pas comment tu t'y prends, alors que tout est ultra simple.
un label label1 avec sa propriété autosize = true et sa propriété wordwrap = false
- Pour tout effacer :
Label1.Caption = ""
- pour ajouter du texte (exemple) :
label1.caption = label1.caption & vbcrlf & "coucou"

On est vraiment là au B.A.BA de l'utilisation du composant le plus simple de VBA .
 

patricktoulon

XLDnaute Barbatruc
bonjour jmfmarques
ca va plus loin que ca c'est tout le concept qui a beaucoup d'inutilité
il n'a besoins que du combo ,du txtb3 et des 3 boutons
si il tape dans la combo et que le matchentrycomplete de match pas c'est ajouter sinon modifier
épicétoo ;)
 

Dranreb

XLDnaute Barbatruc
Bonjour.
VB:
Option Explicit
Private Sub CBnTxtLong_Click()
   AjusterLab LabTest, "Portez ce blond whisky au vieux juge qui fume"
   End Sub
Private Sub CBnTxtCourt_Click()
   AjusterLab LabTest, "Salut"
   End Sub
Private Sub AjusterLab(ByVal Lab As MSForms.Label, ByVal Texte As String)
   Dim Lar As Double, H0 As Double, Haut As Double, Bas As Double, DT As Double, Ctl As MSForms.Control
   Lar = Lab.Width: H0 = Lab.Height: Haut = Lab.Top: Bas = Haut + H0
   Lab.Caption = Texte
   Lab.AutoSize = True
   Lab.AutoSize = False
   Lab.Width = Lar
   DT = Lab.Height - H0: If DT = 0 Then Exit Sub
   For Each Ctl In Me.Controls
      If Ctl.Top > Bas Then Ctl.Top = Ctl.Top + DT
      Next Ctl
   Me.Height = Me.Height + DT
   End Sub
 

Pièces jointes

  • Test.xlsm
    19.4 KB · Affichages: 5

Toubabou

XLDnaute Impliqué
Bonjour.
VB:
Option Explicit
Private Sub CBnTxtLong_Click()
   AjusterLab LabTest, "Portez ce blond whisky au vieux juge qui fume"
   End Sub
Private Sub CBnTxtCourt_Click()
   AjusterLab LabTest, "Salut"
   End Sub
Private Sub AjusterLab(ByVal Lab As MSForms.Label, ByVal Texte As String)
   Dim Lar As Double, H0 As Double, Haut As Double, Bas As Double, DT As Double, Ctl As MSForms.Control
   Lar = Lab.Width: H0 = Lab.Height: Haut = Lab.Top: Bas = Haut + H0
   Lab.Caption = Texte
   Lab.AutoSize = True
   Lab.AutoSize = False
   Lab.Width = Lar
   DT = Lab.Height - H0: If DT = 0 Then Exit Sub
   For Each Ctl In Me.Controls
      If Ctl.Top > Bas Then Ctl.Top = Ctl.Top + DT
      Next Ctl
   Me.Height = Me.Height + DT
   End Sub
Bonsoir,
Mais comment l'adapter à mon UserForm?
 

patricktoulon

XLDnaute Barbatruc
bon tant pis j'ai parlé a un sourd en disant "qu'il y avait beaucoup plus simple"
sachant qu'avec cette méthode il faut aussi redimensionner l'usf et que la partie ajout' descends aussi
bref
je répète une dernière fois
tu n'a besoins que de ton combo , txtb3 et les 3 premiers boutons et de ton txtb de recherche
tout le reste tu jette
l'ajout ou la modif peut se faire avec ceux ci
le txtb3 on lui prévoit un height pour 4 ou 5 lignes et c'est tout
aucun déplacement , aucun redimensionnement
épicétoo' ;)
 

Toubabou

XLDnaute Impliqué
bon tant pis j'ai parlé a un sourd en disant "qu'il y avait beaucoup plus simple"
sachant qu'avec cette méthode il faut aussi redimensionner l'usf et que la partie ajout' descends aussi
bref
je répète une dernière fois
tu n'a besoins que de ton combo , txtb3 et les 3 premiers boutons et de ton txtb de recherche
tout le reste tu jette
l'ajout ou la modif peut se faire avec ceux ci
le txtb3 on lui prévoit un height pour 4 ou 5 lignes et c'est tout
aucun déplacement , aucun redimensionnement
épicétoo' ;)
Patrick,
Mais si j'ai bien compris, mais je ne sais pas comment faire d'où ma demande sur le Forum. Plus haut tu me disais d'attendre 5 mn que tu me ferais un exemple. Ou ai-je mal compris?
 

Discussions similaires

Réponses
2
Affichages
232

Statistiques des forums

Discussions
312 773
Messages
2 091 982
Membres
105 137
dernier inscrit
Steph201640