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

Se positionner à la fin d'un champ en mode formulaire....

1 réponse
Avatar
d93
Bonjour et merci par avance: pb pour se positionner =E0 la=20
fin d'un champ texte dans un formulaire:
Pour cela, j'ai un sendkeys FIN sur r=E9ception du focus sur=20
ce champ ET LE PB, c'est que suivant si j'y acc=E8de par un=20
appui sur TAB ou un clic souris, soit je suis bien en fin=20
de champ, soit je passe au dernier champ du formulaire:
JE VOIS BIEN QUE C'EST LIE AU MODE DEPLACEMENT OU=20
MODIFICATION :
- interne au champ >vers fin de celui-ci en mode=20
MODIFICATION =20
- ou qui renvoie =E0 l'ext=E9rieur en mode DEPLACEMENT donc=20
FIN =3D dernier champ du formulaire dans l'ordre de=20
tabulation

PAS TROUVE LA SOLUTION basique, sans doute, pour ce=20
positionnement en fin de champs quelque soit le mode=20
d'acc=E8s (BIEN SUR, JE PEUX RENDRE CE CHAMP INACCESSIBLE=20
PAR UN DES MODES MAIS BON, INTELLECTUELLEMENT PAS=20
GLORIEUX)...=20

merci de bien vouloir m'aider
bonne journ=E9e

1 réponse

Avatar
Xavier HUE
Bonjour d93,

Voir les propriétés SelStart, SelEnd, set SelLength

Dans l'évènement Sur Entrée de ton controle:

If Not (IsNull(Me.TonControle.Value)) Then
Me.TonControle.SelStart = Len(Me.TonControle.Value)
End If

Si le focus entre dans le controle suite à l'utilisation
de la touche TAB, le focus est placé à la fin du texte
contenu dans le controle.

Pour le placer au début:

Me.TonControle.SelLength = 0

Perso, j'évite d'utiliser le SendKey. Ca marche
seuelemtnsi tu est dans le bon contexte, sinon, au mieux
ca plante, au pire ca ne fait pas ce que tu attends.
Privilégie plutôt des actions de menu, ou
DoCmd.RunCommand ...

Note: Cliquer dans un controle placera directement le
curseur à la position du clic. L'évènement Clic se
produisant après Sur Entrée.

Cordialement.