Accelerator, Focus et MaxLength ne fonctionnent pas

Bonsoir

J'ai qq souci avec mes usf :

1 - Je voudrais me déplacer dans ma Userform avec les raccourcis clavier, j'ai donc mis des Accelerator sur les labels des zones à saisir, (puisqu'il n'y a pas la possibilité de les mettre sur les textbox) or quand je fais Alt + T (par ex T pour téléphone), il ne se passe rien ; par contre ça fonctionne bien pour activer les boutons d'option.

2 - J'ai un textBox pour saisir un N° de téléphone, j'ai précisé un format (récupéré par l'enregistreur) :

Private Sub TxbTel_Change()
    On Error Resume Next
    'Format téléphone
    TxbTel.Value = Format(TxbTel.Value, "00"" ""00"" ""00"" ""00"" ""00")
    TxbTel.MaxLength = 16  'saisie du Tel Agt sur 10 caractères
    TxbTel.AutoTab = True 'tabulation automatique
    Me.TxbTel.SetFocus
End Sub

je voudrais qu'après avoir saisie le N° le focus aille directement sur la textBox svte (Nom) Or que neni j'ai essayé de modifier le MaxLength mais je ne peux plus saisir le N° de tel.

3 - Comment positionne-t-on un focus par défaut sur une textbox : je voudrais qu'à l'ouverture du Usf le focus soit sur le Tel et quand je passe à l'onglet Pg2, le focus devrait être sur le Hobbie.

Merci d'avance

Pour tests, fichier joint

25gestbouton.zip (16.74 Ko)

Bonjour

Pour tes numéros de téléphone inspires toi de la macro que tu avais faites pour les dates dans ton autre fichier

https://forum.excel-pratique.com/excel/mes-opb-ne-fonctionnent-qu-a-la-2eme-saisie-t34205.html#p193729

Macro modifiée

Private Sub TxbTel_Change()
  With Me.TxbTel
    Select Case Len(.Text)
      Case 2, 5, 8, 11
        .Text = .Text & " "
    End Select
  End With
End Sub

Dans la macro Usrform_Initialize (Pour info : La longueur c'est 10 + 4 espaces)

Private Sub UserForm_Initialize()
    TxbTel.MaxLength = 14  'saisie du Tel Agt sur 10 caractères
    TxbTel.AutoTab = True 'tabulation automatique

    Me.MultiPage1.Value = 0
    Me.TxbTel.SetFocus

End Sub

Ensuite pour l'accélérateur

Il faut que tu modifies les propriétés Tab des contrôles qui sont "associés" aux Labels : Le label aura 1 numéro et le contrôle aura le numéro du label + 1

Exemple le label "Téléphone" aura comme numéro 1 et le contrôle TxbTel aura le numéro 2 etc

Pour le focus utilises

Private Sub MultiPage1_Change()
  If Me.MultiPage1.Value = 0 Then
    Me.TxbTel.SetFocus
  Else
    Me.TxbHob.SetFocus
  End If
End Sub

Bonsoir Banzai,

Merci pour la leçon...

Encore une question sur les accelerator

j'ai appelé mes 2 onglets Pg1 et Pg2 avec des accelerator 1 et 2, or quand je fais Alt +1, il ne se passe rien...

T'as encore une bonne réponse pour moi ?

Pour le reste tout est oK, comme toujours

Alors oui, je me souviens le code date, mais je n'avais pas tout compris, avec ce nouvel exemple, je crois que oui, je ferai un exo demain...

Quant à ta remarque (désobligeante, je plaisante)

Pour info : La longueur c'est 10 + 4 espaces)

je sais bien compter, mais si tu essaies TxbTel.MaxLength = 14 avec mon format précédent, tu ne peux pas saisir un seul chiffre, va comprendre, ça ne fonctionne qu'avec 16...

Merci encore

Bonne soirée.

Bonsoir

Je ne sais pas

Mais j'ai renommer PageA et PageB avec accélérateur A et B et pas de soucis

Why ?

I don't know

Merci

Rechercher des sujets similaires à "accelerator focus maxlength fonctionnent pas"