Microsoft 365 SetFocus sur le premier Texbox vide de la Frame

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 !

Piment

XLDnaute Occasionnel
Bonjour à tous, pensée particulière pour Job75.
Je reviens vers vous une fois encore afin de m'aider à solutionner une difficulté que je rencontre.
Je voudrais que dès la sortie( par Tabulation) de la combobox, le focus soit mis sur le premier TextBox vide de la Frame de mon Usf.
Actuellement dès la sortie par Tab ou Entrer, le focus est mis sur le premier TextBox de la Frame.
Ci-joint un fichier minimaliste de mon fichier de base. Le but est de donner plus de fluidité à la saisie.
Par avance merci de votre sollicitude.
 

Pièces jointes

Patrick, Jean-Marie, bonjour!
Patrick, j'ai testé tes codes, et, si je peux me permettre, 3 remarques :
1°) Dans la combobox, il n'y a pas 2 colonnes. La deuxième colonne où devrait s'afficher l'index n'apparaît plus. J'aurais aimé que le nom de l'agent apparaisse, dans le ComboBox, à côté du numéro à la place de l'index, et que ce dernier soit sélectionné dans la feuille en arrière plan.
2°) Si j'ouvre l'Usf avec le bouton "Ouvrir Menu" et si je saisis un numéro qui n'existe pas, à la sortie du MsgBox, je n'ai plus le Focus dans le ComboBox.
3°) Si je saisis 7,30 le textbox affiche 7,3, j'aimerais qu'il affiche 2 chiffres après la virgule. J'ai tenté de modifier, mais sans succès.
Sans vouloir abuser de ta patience, j'aimerais assez que tu m'accompagnes encore un peu dans cette affaire. Garde à l'esprit que je suis loin d'être du niveau d'un Jean-Marie pour tout comprendre, après quelques explications.
Ta patience risque d'être mise à rude épreuve.
Merci à vous. Bonne journée.
 
Salut Jean-Marie,
Et oui. Je suis tenace (question de caractère, je pense.).
Plus sérieusement, le but recherché est de gagner en fluidité, et donc à l'arrivée un gros gain de temps!
J'ai un peu avancé, le problème d'affichage des TexBox semble résolu, j'ai aussi réussi à régler le problème de sélection de la ligne du tableau concernée par le choix effectué dans le ComboBox.
Je mets le fichier en pièce jointe. Si tu pouvais y jeter un œil.
Merci.
 

Pièces jointes

Re
Tu dis :
le but recherché est de gagner en fluidité, et donc à l'arrivée un gros gain de temps!
Quel est l'intérêt, lorsque tu n'as qu'un combobox élément principal,de à la fois sélectionner la ligne et le Combobox ?
Tu vas me dire parce que lol
J'avais pour limiter les choix possibles a l'ouverture , masqué tout sauf le Combobox,la le gars il avait pas a se tromper y'en avait qu'un ! Lol
Bonne fin de journée
Jean marie
 
Re:
l'intérêt est de me permettre de vérifier que je suis sur le bon numéro avec le bon nom qui va avec, avant la validation et ensuite que la saisie s'est bien mise dans la bonne colonne. Les factures comportent parfois des erreurs, là je peux tout vérifier: concordance entre facturation et mon tableau.
 
re
bonjour bonjour
que ce passe t il encore ici ?
qu'est ce qui va pas encore ?

perso j'ai l'impression qu'il y en a un qui mange trop de piment ca brûle les neuronnes

@Piment tu es venu demander de l'aide
par conséquent on peut en conclure que tu ne sais pas faire ou tout du moins en partie
@fanch55 @jean-marie et moi @patricktoulon t'avons fait moults propositions correspondant parfaitement à la demande
et on est même allé un peu plus loin

que te faut il de plus
d'autant plus que que tu a declaré comme solution la proposition @fanch55
et il semblerait que tu n'utilise plus cette version
faudrait savoir où tu a mal hein

il y a une différence entre tétu et borné
 
re pour avoir le numero et le prenom dans la combo tu n'a qu'une ligne à modifier dans le activate de mon model
VB:
Private Sub UserForm_Activate()
    Dim ctrl, a&, I
    'on prend la colonne des numeros de TEL on lui ajoute une colonne
    tbl = Range("Tableau1[N° Tél]").Resize(, 2).Value
    'sans prenom 'For I = 1 To UBound(tbl): tbl(I, 2) = I: Next    'on met les indexs de ligne du TS dans la colonne 2 de tbl
 
'avec prenom
 For I = 1 To UBound(tbl): tbl(I, 1) = tbl(I, 1) & " - " & tbl(I, 2): tbl(I, 2) = I: Next 'on met les indexs de ligne du TS dans la colonne 2 de tbl

    For I = 2 To 13
        a = a + 1: ReDim Preserve cls(1 To a): Set cls(a).TbX = Me.Frame1.Controls("TextBox" & I): Set cls(a).UF = Me
    Next
End Sub
et c'est tout !!!!
je le redit
quand un code est bien pensé il est facile d'y apporter des modif
et j'ai même apporté une modif sur le focus du textbox dans la frame
en effet si il y a un/des mois ou il n'y a rian puis des suivant ou il y a une somme c'est le premier vide qui sera pris
maintenant c'est le premier vide apres ceux qui sont remplis ou pas

autrement dit
si tout les mois sont vide se sera decembre qui sera pris
sinon sesera le premier vide en partant du TextBox13 vers le textBox1
c'est pas compliqué
 

Pièces jointes

Dernière édition:
Bonjour à tous. Je vous souhaite à tous une bonne et heureuse année.
Pensée particulière à Patrick (patricktoulon) et à Jean-Marie (ChTi160).
Des petits soucis de santé m'ont tenu éloigné de mon fil.
Mais je suis de retour.
Patrick, désolé de ne pas avoir été en mesure de répondre à ton dernier post.
J'ai du retard à rattraper, et je reviens vers vous.
Le temps aussi de faire le point sur où j'en étais.
Merci pour votre aide et pour la patience dont vous faites preuve à mon égard.
Portez-vous bien.
Claude.
 
- 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

Réponses
2
Affichages
945
Retour