Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 SetFocus sur le premier Texbox vide de la Frame

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

  • Essai4.xlsm
    50.5 KB · Affichages: 15

patricktoulon

XLDnaute Barbatruc
re
Attention
je reviens sur la notion d'intuitivité de la combobox
quand tu aura des centaines de numeros l'auto selection en autocomplétion par le INSTR de la valeur tapée ne te suffira plus
car si ils ne sont pas dans l'ordre alpha si tu tape 06 88 par exemple
et que tu en aura 50 de numeros qui commencent comme ca
et que par exemple celui que tu cherche est le dernier
bien tu saura obligé de taper le numero entier
resultat intuitivité =zero+zero=la tête à toto

tu trouvera ici et là dans le forum des exercices bien plus precis et vraiment intuitifs pour les combo

pour le moment ce que tu appelle "intuitivité"(qui n'en est pas une d'ailleurs) de ta combo n'est que la selection de la première occurence

tu reviendra pour ça je le sais
 

patricktoulon

XLDnaute Barbatruc
deja a minima
met ta liste dans l'ordre alpha
comme ça tout les numero qui commenceront pareil seront les un a la suite de l'autre
ensuit au taper tu peux faire un developpe de la combo pour eventuellement sélectionner une des occurences directement
mais pour ca il va te falloir soit faire un tri dans ta feuille
soit si tu ne veux pas toucher l'ordre de la feuille fair une variable tablea 2 colone colonne 1 les numero de tel et colonne 2 les index de lignes
et mettre ca dans ta combo
a la selection tu va chercher l'item (.list(.listindex,1) pour avoir ta ligne correspondante
 

patricktoulon

XLDnaute Barbatruc
re
les espaces et 14 caractères max
VB:
'si on tape sur les touches numeriques la liste se reduit aux occurences du même  LEFT que le  VALUE
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    With ComboBox1
        Select Case (KeyCode)
        Case 96 To 105
            Select Case Len(.Value): Case 2, 5, 8, 11: .Value = .Value & " ": End Select
            .Value = .Value & Chr(KeyCode - 48): partListe: KeyCode = 0
            Select Case Len(.Value): Case 2, 5, 8, 11: .Value = .Value & " ": End Select
        Case 8
            If .Value <> "" Then .Value = Left(.Value, Len(.Text) - 1): partListe Else .List = tbl
            KeyCode = 0
        Case 46
            partListe
        End Select
        .Value = Mid(.Value, 1, 14)
    End With
End Sub
 

ChTi160

XLDnaute Barbatruc
Re
je sais pas si c'est dû aux versions excel ,mais j'ai plein de problèmes exemple avec Select Case (KeyCode)
j'ai du mettre Select Case True
aussi avec .Value = .Value & Chr(KeyCode) puis avec .list=.list ainsi qu'avec le .DropDown qui n'affiche rien Lol etc etc
et la procédure ComboBox1_DropButtonClick
J'ai ajouté la gestion des Touches du pavé
VB:
  Select Case True '(KeyCode)
         Case KeyCode >= 48 And KeyCode <= 57 Or KeyCode >= 96 And KeyCode <= 105
J'abandonne pour ce soir Lol
Bonne fin de Soirée.
Jean marie
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…