Saisie semi-automatique

Description

Ce code sert a faire comme sur Netscape, quand vous taper un certain nombre de caractère il vous donne une fin possible a partir d'une URL que vous avez déjà taper au paravant. L'exemple est avec un ListBox & TextBox, mais vous pouvez le remplacer par un Array, Collection etc.....

ATTENTION : Tjr utiliser ce code dans le KeyPress du textbox

Source / Exemple :


Public Function TrouveFin(cTextBox As TextBox, KeyCode As Integer, cList As ListBox, Optional Sensibility As Long = 1)
    '**************************************
    'Attention, ce code doit être placer  *
    'dans un le KeyUp d'un TextBox, vous  *
    'Pouvez facilement le remplacer par un*
    'Array ou un Collection etc...        *
    '**************************************
    Dim a As Long, b As Long
    If cTextBox.Text = vbNullString Or KeyCode = 8 Or Len(cTextBox) < Sensibility Then Exit Function 'Pour ne pas le faire inutilement
    b = cTextBox.SelStart 'Enregistrer le selstart
    For a = 0 To cList.ListCount - 1 'Scan tout le ListBox pour trouvé une chaine ressemblante
        If cList.List(a) Like cTextBox.Text & "*" Then 'Si elle ressemble
                With cTextBox 'Propriété ratacher au TextBox
                    .Text = cList.List(a) 'Texte a afficher
                    .SelStart = b 'Assurer que sa se mêle pas
                    .SelLength = Len(.Text) - b 'Pour selectionner
                End With
            Exit Function
        End If
    Next a
End Function

Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
    TrouveFin Text1, KeyCode, List1, 3 '3 caractère minimum avant de proposé
End Sub

Conclusion :


:-)

Codes Sources

A voir également

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.