Position du Focus dans un userform

  • Initiateur de la discussion Initiateur de la discussion Myst
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Myst

XLDnaute Occasionnel
Bonjour
je voudrais savoir comme il est possible de positionner le focus dans textbox de son choix
Dans le fichier joint j'ai un userform qui contient 2 textbox ,je rentre une valeur dans la texbox1 puis si la valeur est en dehors des tolérances ($A$1 et $B$2) de la page 2 alors apparait la deuxième textbox ou j'ai la possibilité de rentrer une deuxième valeur
Ma demande concerne le positionnement du focus ,il faudrait qu'il passe de la textbox1 vers la textbox2 automatiquement
avec les propriétés Tabindex et Tag ça ne fonctionne pas
merci
 

Pièces jointes

Re : Position du Focus dans un userform

Super les phrases de cinq mots , amuse toi bien

D'accord, plus de 5 mots :

Travaillez, prenez de la peine :
C'est le fonds qui manque le moins.
Un riche Laboureur, sentant sa mort prochaine,
Fit venir ses enfants, leur parla sans témoins.
Gardez-vous, leur dit-il, de vendre l'héritage
Que nous ont laissé nos parents.
Un trésor est caché dedans.
Je ne sais pas l'endroit ; mais un peu de courage
Vous le fera trouver, vous en viendrez à bout.
Remuez votre champ dès qu'on aura fait l'Oût.
Creusez, fouiller, bêchez ; ne laissez nulle place
Où la main ne passe et repasse.
Le père mort, les fils vous retournent le champ
Deçà, delà, partout ; si bien qu'au bout de l'an
Il en rapporta davantage.
D'argent, point de caché. Mais le père fut sage
De leur montrer avant sa mort
Que le travail est un trésor.

A+
 
Re : Position du Focus dans un userform

Bonsoir
C'est un fichier que j'essaye de mettre au point pour la saisie de valeur relevées au microscope et comme il y a des dizaines de côtes à prendre si l'une est mauvaise on considère que l'on peut en prendre une autre afin d'avoir une moyenne bonne
Merçi pour ton lien ,je vais jeter un œil
 
Re : Position du Focus dans un userform

Hello
Je confirme : le textbox2.Setfocus ne fonctionne pas ( Pourquoi ??? : cette question je me la pose depuis des années) , si quelqu'un a l'explication ??,je suis intéressé
Après le after update a priori le focus est déjà passé ailleurs avant de dérouler la macro???,
Extrait de l'aide
Regarde la pièce jointe 932940

L’évènement AfterUpdate ne gère pas le focus quand on quitte le contrôle tandis que l’évènement BeforeUpdate le fait par l’intermédiaire de la variable booléenne Cancel

Code:
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
  Cancel = Not IsNumeric(TextBox1)
  If Cancel Then
    MsgBox "la valeur doit être numérique"
    TextBox1 = ""
  End If
End Sub
 

Pièces jointes

  • AfterUpdate.jpg
    AfterUpdate.jpg
    68.4 KB · Affichages: 38
Re : Position du Focus dans un userform

Bonjour Myst, Jean-Marcel, Job75, à Tous

L'événement Exit étant déclenché après l'événement AfterUpdate, il annule le SetFocus placé dans AfterUpdate.
Mieux vaut placer le SetFocus dans l'événement Exit en utilisant l'argument Cancel de celui-ci.

Cordialement

Docmarti
 

Pièces jointes

Re : Position du Focus dans un userform

Bonjour à tous,
je n'ai pas tout suivi (loin de là) mais
Code:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsNumeric(TextBox1) = False Then
   MsgBox "la valeur doit ètre numérique"
   TextBox1 = ""
   Cancel = True
   End If
semble suffire non ?
A+
 
Re : Position du Focus dans un userform

Salut David
Non cela ne répond aux souhaits de Myst( si j'ai bien compris) voir post 1
Le Pb c'est rendre visible une textbox et lui coller le focus dans la foulée , à la sortie de la textbox précédente.

Tu dis "à la sortie de la textbox" mais il faudrait savoir comment on veut en sortir (via la touche de tabulation, en cliquant sur "valider", autrement,...).
Sinon tu peux contrôler dans le Change, quelque chose du genre
Code:
Private Sub TextBox1_Change()
If CDbl(TextBox1.Value) > Feuil2.Range("B2").Value Then
  MsgBox "La valeur saisie est supérieure a la tolérance maxi,vous pouvez saisir une contre mesure dans la case N°2", vbOKOnly + vbExclamation, "ERREUR"
  TextBox2.Visible = True
  Label2.Visible = True
  TextBox2.SetFocus
End If
End Sub
Chez moi le focus est bien donné à la textbox2.

A+
 
Re : Position du Focus dans un userform

Bonjour à tous,

Voici ce qui se passe chez moi sur Excel 2010 :

- si l'on entre 0,3 dans TextBox1 TextBox1_AfterUpdate donne bien le focus à TextBox2

- mais ensuite si l'on entre 0,4 dans TextBox2 TextBox2_AfterUpdate ne permet pas de conserver le focus sur TextBox2.

TextBox2_AfterUpdate peut donner par contre le focus à TextBox1.

Voyez ce que donne chez vous le fichier joint.

A+
 

Pièces jointes

Re : Position du Focus dans un userform

Bonjour Gérard,
si l'on entre 0,3 dans TextBox1 TextBox1_AfterUpdate donne bien le focus à TextBox2
Cela dépend comment tu sors de la textbox1. Si c'est en cliquant sur valider d'accord mais si c'est via la touche de tabulation alors le focus n'est pas donné à textbox2 (d'où la question posée dans mon précédent message).

mais ensuite si l'on entre 0,4 dans TextBox2 TextBox2_AfterUpdate ne permet pas de conserver le focus sur TextBox2.
Effectivement mais si l'on utilise l'événement TextBox2_BeforeUpdate avec Cancel=True c'est ok chez moi.
A+
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour