Erreur Focus textbox
Résolu
sormick
-
f894009 Messages postés 17413 Statut Membre -
f894009 Messages postés 17413 Statut Membre -
Bonjour,
j'ai plusieurs textbox
J'utilise un code vba qui me permet en cliquant sur une listbox de revenir sur le dernier textbox que j'ai utilisé. Voici le code:
le problème c'est que ce code:
Me.Controls(box.TabIndex + 1).SetFocus
ne fonctionne pas!.je souhaiterais passer à la textbox suivante après avoir validé les informations de la listbox au dernier textbox utilisé.
voici le message d'erreur que j'ai:
le focus ne peut être déplacé sur le contrôle car celui-ci est invisible, non activé..........
Comment faire?
j'ai plusieurs textbox
J'utilise un code vba qui me permet en cliquant sur une listbox de revenir sur le dernier textbox que j'ai utilisé. Voici le code:
Private box As MSForms.TextBox Private Sub TextBox1_enter() Set box = Me.TextBox1 End Sub box.Value = Me.ListBox1.Value Me.Controls(box.TabIndex + 1).SetFocus
le problème c'est que ce code:
Me.Controls(box.TabIndex + 1).SetFocus
ne fonctionne pas!.je souhaiterais passer à la textbox suivante après avoir validé les informations de la listbox au dernier textbox utilisé.
voici le message d'erreur que j'ai:
le focus ne peut être déplacé sur le contrôle car celui-ci est invisible, non activé..........
Comment faire?
A voir également:
- Erreur Focus textbox
- Helicon focus - Télécharger - Photo & Graphisme
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- J'aime par erreur facebook notification - Forum Facebook
2 réponses
Bonjour,
en anglais, mais facile a comprendre:
https://www.excelforum.com/excel-programming-vba-macros/530311-vba-control-tab-index.html
en anglais, mais facile a comprendre:
https://www.excelforum.com/excel-programming-vba-macros/530311-vba-control-tab-index.html
Re,
code corrige pour d'autres au cas ou:
code corrige pour d'autres au cas ou:
Private box As MSForms.TextBox Private Sub TextBox1_enter() Dim TabTxt As Integer Set box = TextBox1 '????????????????? box.Value = ListBox1.Value TabTxt = box.TabIndex + 1 Call SetFocusByTabIndex(Me, TabTxt) End Sub Sub SetFocusByTabIndex(ByRef MaForm As Object, iTab As Integer) On Error Resume Next Dim ctl As Control For Each ctl In MaForm.Controls If ctl.TabIndex = iTab Then ctl.SetFocus x = ctl.Name Exit For End If Next ctl End Sub
je n'arrive pas à le faire fonctionner.
j'ai mis le code:
Sub SetFocusByTabIndex(frm as Form, iTab as Integer)
On Error Resume Next
Dim ctl as Control
For each ctl in frm.Controls
If ctl.TabIndex = iTab Then
ctl.SetFocus
Exit For
End If
Next ctl
End Sub
dans un module , puis j'ai mis le code:
Call SetFocusByTabIndex(Me,3) dans la listbox
l'erreur qui s'affiche est:
type défini par l'utilisateur non défini
Marche pas, code non teste (ecrit au debut).
Vous envisagez de faire cette manip pour plusieurs textbox ou pas ???
je commence à saisir sur la textbox1, une liste de valeurs s'affiche sur la listbox.
je clique dessus.la valeur cliqué s'affiche sur la textbox1 puis automatiquement il passe à la textbox suivante. et ainsi de suite pour toutes les textbox.
il y a un total de 35 textbox
voici le code que j'ai trouvé à mettre sur la listbox:
Dim ctl As Control
For Each ctl In Me.Controls
If ctl.TabIndex = box.TabIndex + 1 Then
ctl.SetFocus
Exit For
End If
Next
bonne journée à tous!!