redonner focus sur textbox

dev_co

XLDnaute Occasionnel
Bonjour
J'aimerai redonner le focus obligatoire à une box en cas d'erreur de saisie ( donnée effacée) mais que le curseur reste sur la box
le SETFOCUS ne fait rien !!
quel type de Sub aussi ? change , afterupdate, beforeupdate , le 1er pose soucis car je dois sauter de box en box et si je tape par exemple 12 , dans mon traitement il prend 1 et ensuite 12 donc j'ai 2 valeurs
 

dev_co

XLDnaute Occasionnel
Re : redonner focus sur textbox

Bonsoir
Merci , voilà ci-joint
si saisie pas bonne > REMETTRE CURSEUR en auto dans la box , en gros comme quand on remplit des box sur Internet et que le choix n'est pas bon .... le curseur se remet en Auto dans la boite ou il y a une erreur
Dans l'extrait joint , cela a l'air de fonctionner ??? mais pas dans l'appli ( pour joindre ici, je dois couper pas mal de choses perso du fichier) , le principe est le même ( beforeUpdate , Cancel .....etc) mais ça coince ??pas de curseur , ensuite le MsgBox d'erreur s'affiche au moins 2 fois ?

Est ce la bonne méthode ? ou l'ensemble de tout le code USF ...etc qui fait que ???
 

Pièces jointes

  • focus.xlsm
    17 KB · Affichages: 42
  • focus.xlsm
    17 KB · Affichages: 50

laetitia90

XLDnaute Barbatruc
Re : redonner focus sur textbox

re dev_co:)
tu as essaye de mettre dans exit??

Code:
Private Sub TextBox1_Exit(ByVal c As MSForms.ReturnBoolean)
    If TextBox1 < 1 Or TextBox1 > 49 Then _
    MsgBox "valeur <1 ou >49": TextBox1 = "": c = 1
End Sub

pour textbox2 si tu as ranger tes box dans ordre de tabulation ou dans propriete de la box ....TabIndex
tu as pas besoin de textbox2.setfocus
 

dev_co

XLDnaute Occasionnel
Re : redonner focus sur textbox

Bonjour
merci laetitia , tout marche sauf dans l'appli d'origine ???
je joins un bout , je n'ai fait que copier/coller dans ce nouveau fichier , normalement ça marche avec celui là
Je m'arrache les cheveux
Ce que je vais encore tenter c'est faire une copie de mon fichier puis supprimer tous autres USF + code pour ne garder que celui ci
En fait en plus je voulais sauter en auto ( avec change) mais si c'est 5 ou 42 c'est pas évident il faut mettre 05 et que si Len=2 > ok on passe next box , mais chaque chose en son temps !!
 

Pièces jointes

  • focus.xlsm
    21.1 KB · Affichages: 44
  • focus.xlsm
    21.1 KB · Affichages: 52

laetitia90

XLDnaute Barbatruc
Re : redonner focus sur textbox

re :)

bloque a la maison ce soir :mad: un peu de temps pour regarder ton fichier

je vois a peu pres ce que tu veus faire le loto :rolleyes::rolleyes:
a moi avis tu prends pas la bonne direction

tu as 7 textboxs il faut gerer la sortie gerer len gerer si not numeric replacer si <10 ect..

tu as crée un peusdo clavier avec tes 49 labels on va l'utiliser :p

pour renseigner les textbox tu clic sur les labels si erreur reclic dessus pour annuler..... j'ai bloque a 7 maxi
c'est tout

on aurait pu utiliser des combobox a la place des textbox encore plus simple au niveau codage a voir....
 

Pièces jointes

  • focus (1).xlsm
    27.8 KB · Affichages: 58

dev_co

XLDnaute Occasionnel
Re : redonner focus sur textbox

Bonjour
vite fait , je n'ai pas vu Bcp de différence avec mon fichier ? ex : si je rentre 55 ça dit pas erreur ?
Sinon c'est pas spécialement le loto qui m'intéresse c'est une question Pure VBA , à savoir :
A partir d'un Textbox comment passer de l'un à l'autre en effaçant les données et rester dessus en auto ( le focus) sans CLIC ?
Voilà ma problématique , mais comme ici on doit joindre un fichier exemple ... je l'ai fait
Espérant que la solution puisse s'adapter à chaque fois ?
Merci
 

JM27

XLDnaute Barbatruc
Re : redonner focus sur textbox

Bonjour
Ci joint un exemple qui répondra peut ètre à la question

Code:
Private Sub TextBox11_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If Len(TextBox11) < 10 Then
        MsgBox "code erroné"
        SendKeys "+{TAB}", False
    End If
End Sub
 

Statistiques des forums

Discussions
312 203
Messages
2 086 182
Membres
103 152
dernier inscrit
Karibu