Me voici avec un problème. Pourriez-vous, svp, y jeter un oeil ?
Voici une description :
Dans une feuille, j'ai un ssTab.
Ce ssTab contient plusieurs onglets, contenant chacun une picturebox (pct(index)).
Chaque picturebox contient une comboBox (cboIdentite(index))
et plusieurs textbox (nom(index) et prenom(index)).
Vous l'aurez compris... cboIdentite(0) va avec txtnom(0) et txtprenom(0) dans pct(0)...
Les index vont de pair avec l'index de chaque onglet de la ssTab.
Voici maintenant mon souci :
quand j'effectue un txtprenom_LostFocus(index as integer), qui lui même,
après un test de validité non exact, veut renvoyer sur le focus
sur cboIdentite(0)... cela ne fonctionne pas... le focus est refusé...
par un message d'erreur !
Pour qu'un composant acquiert le focus, il faut qu'il soit visible.
Entre la manip de l'onglet et le setfocus de la TextBox, ajoute un DoEvents, ça devrait suffire.
Private Sub cmdClientValider_Click()
If (txtNom(0) & txtPrenom) = "" Then
For j = 0 To 4
lblMessageClient(j).Visible = True
linErreurClient00(j).Visible = True
Next j
'
'
' Pour la validation,
' Vu que la fiche ne contient ni nom ni prénom,
' je souhaite que le focus revienne directement
' dans l'onglet 0 de la ssTab (ssTabClient),
' dans la zone du nom (txtNom(0))
' Cela ne fonctionne pourtant pas !!!
' Pas de message d'erreur...
' Mais pas de focus sur le nom
' pourtant en visible, en enabled et pas en Loocked !!!
'
'
SSTabClient.Tab = 0
txtnom(0).SetFocus
Exit Sub
End If
...
end sub
Je rajoute aussi que le message d'erreur était dû à un ssTab avec enabled à False.
C'est retrouvé, c'est vu, c'est corrigé, donc plus de message d'erreur.
Mais
Je n'ai toujours pas le focus sur txtnom(0) !!!!!!!!!!!!!!!!!!!!!!!