user_mobilelogo

Pour tout connaître sur Word
Nouvelle version !

600 pages !

9,80 € 

En savoir plus.

Tout d'abord, je précise que les solutions données ne sont valables que pour les contrôles ActiveX. Ce ne sera pas valable pour un champ de formulaire hérité qui ne peut déclencher une macro qu'à l'entrée ou à la sortie (il faut donc agir pour sortir), ni pour un contrôle de contenu.

Tout d'abord, il est impératif de donner au contrôle une longueur maximale, afin que Word sache quand passer au contrôle suivant. Cette longueur maximale s'ajoute dans les propriétés (MaxLength).

Si l'on parle d'un formulaire (Userform), c'est très simple : il suffit d'affecter au champ la propriété AutoTab, directement via la fenêtre Propriétés.

S'il s'agit de contrôles Textbox insérés directement dans le document, il faudra malheureusement une macro par textbox, du fait que la propriété AutoTab ne fonctionne pas dans ce contexte.

Voici la macro pour la TextBox1 afin de passer automatiquement dans la TextBox2 une fois la longueur maximale de texte saisi :

 

Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
'macro écrite par m@rina
If Len(TextBox1) = TextBox1.MaxLength - 1 Then
TextBox1 = TextBox1 + Chr(KeyAscii)
TextBox2.Activate
End If
End Sub

Cette macro va se déclencher lorsque la longueur maximale - 1 caractère sera atteinte. À ce moment-là le fait de presser le dernier caractère envoie directement dans la Textbox2.

Recommencer pour chaque TextBox en modifiant les noms des Textbox.

Statistiques

Aujourd'hui1654
Hier2006
Cette semaine7658
Ce mois50160
Total depuis 200413208779

21
visiteurs actuellement en ligne

29 juillet 2021