Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Etat/TextBox : donnée sur deux lignes

2 réponses
Avatar
domivax
Bonjour =E0 tous,

J'ai un Etat avec un TextBox aliment=E9 par une requ=EAte qui ne
contiendra qu'une seule donn=E9e.

Il y a-t-il un moyen pour dire en VBA,

Si ma donn=E9e appara=EEt sur deux lignes (car donn=E9e trop longue par
rapport =E0 la largeur du TextBox) Then
Macro1
Else
Macro 2
End If

Merci pour votre aide.
Xavier

2 réponses

Avatar
Gelos64
En détournant une fonction de cafeine :
http://cafeine.developpez.com/access/tutoriel/autoextensible/

Public Function GetTextLen(pCtrl As Control, ByVal str As String)
Dim lx As Long, ly As Long
WizHook.Key = 51488399
WizHook.TwipsFromFont pCtrl.FontName, pCtrl.FontSize, pCtrl.FontWeight,
_
pCtrl.FontItalic, pCtrl.FontUnderline, 0, _
str, 0, lx, ly
GetTextLen = lx
End Function

Ton test reseemblerai à ça

If ZoneTexte.Width < GetTextLen(ZoneTexte, ZoneTexte) Then
Macro 1
Else
Macro 2
end if

J'ai un Etat avec un TextBox alimenté par une requête qui ne contiendra
qu'une seule donnée.
Il y a-t-il un moyen pour dire en VBA,
Si ma donnée apparaît sur deux lignes (car donnée trop longue par rapport
à la largeur du TextBox) Then


Avatar
domivax
Bonjour,

C'est exacetement ce qui me fallait.

Merci beaucoup