Showmodal & Setfocus dans VBA [Résolu]

sanson42 3 Messages postés jeudi 21 avril 2005Date d'inscription 31 janvier 2006 Dernière intervention - 18 janv. 2006 à 16:04 - Dernière réponse : sanson42 3 Messages postés jeudi 21 avril 2005Date d'inscription 31 janvier 2006 Dernière intervention
- 24 janv. 2006 à 10:54
J'utilise 3 userforms qui sont tous SHOWMODAL = FALSE,
chaque userform contient un textbox, et lorsque un texte
est saisie au clavier, je valide avec ENTER pour passer à
la feuille suivante:

dans la sub de KEYPRESS je fais:
userform1.hide
userform2.show

Le problème s'est que j'ai besoin d'avoir le focus sur chaque
textbox de chaque userform, donc dans la sub userform2.activate
je fais:

textbox1.setfocus

Arriver à userform3 je revalide mon champ textbox1 avec la touche
ENTER pour réafficher la feuille userform1 et là gros problème
le textbox n'a pas le focus (meme avec la fonction textbox1.setfocus
dans userform1.activate)
Le textbox s'emble en effet ne pas avoir le focus ( en fait le curseur
ne clignote pas et rend impossible la saisie du controle textbox directement
du clavier, je pourrais biensur utilisé ma souris et cliquez sur le controle
textbox pour récuperer le focus, mais le problème c'est que je ne doit justement pas utiliser la souris!)

Pour résoudre se problème on pourait tous simplement mettre
ShowModal = True mais la pile des appels ne va pas aimer très
longtemps et on se retrouve avec une ERREUR 28
(bien entendu il n'est pas question de déchargé les feuilles
avec UNLOAD! )

C'est un vrai casse-tête...
Afficher la suite 

5 réponses

Meilleure réponse
sanson42 3 Messages postés jeudi 21 avril 2005Date d'inscription 31 janvier 2006 Dernière intervention - 24 janv. 2006 à 10:54
3
Merci
J'ai essayer toutes les infos que vous m'avez faite passer et elle ne fonctionne pas dans ce cas, mais j'ai trouver une solution que vous donne si un jour vous avez le même problème:

il suffit de faire :

textbox1.visible = false
textbox1.visible = true
textbox1.setfocus

et voila le tour est joué!

Merci sanson42 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

ScSami 1490 Messages postés mercredi 5 février 2003Date d'inscription 3 décembre 2007 Dernière intervention - 19 janv. 2006 à 04:18
0
Merci
As-tu essayé de redonner le focus via la procédure événementielle _Enter :
Private Sub TextBox1_Enter()
TextBox1.SetFocus
End Sub

Ou un truc du genre...

???

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )
cs_eldim 961 Messages postés lundi 30 mai 2005Date d'inscription 21 août 2014 Dernière intervention - 19 janv. 2006 à 09:52
0
Merci
Bonjour,

Essaye de mettre sur l'événement activate de chaque form
on error resume next
text1.setfocus
kalobit 169 Messages postés mardi 15 juillet 2003Date d'inscription 7 avril 2008 Dernière intervention - 19 janv. 2006 à 11:39
0
Merci
Salut,

utilise un controle miltipage, comme ça tu n'as plus qu'une feuille et plus de pb de setfocus.
ScSami 1490 Messages postés mercredi 5 février 2003Date d'inscription 3 décembre 2007 Dernière intervention - 19 janv. 2006 à 17:04
0
Merci
C'est pas non plus une mauvaise idée!

Mais dit moi... connais-tu la fonction qu'a la touche "tab" pour le focus ??? Et Shift+Tab ???

(Shift = MAJ pour info)

On peut presque tout faire sans la souris... si on sait se servir correctement de son clavier!

Enjoy

<hr size="2" width="100%">
( Si une réponse vous convient, cliquez sur le bouton "Réponse acceptée". )

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.