Recherche incrémentable dans une combobox

Description

Permet d'obtenir une aide à la saisie dans n'importe quelle ComboBox de vos projets.
Ce code est très facilement ajoutable à un projet existant, il suffit de rajouter le code suivant dans l'événement KeyUp d'une ComboBox et de changer une seule ligne de code !

Source / Exemple :


'==========================================================
'
'==========================================================
Private Sub CB_KeyUp(KeyCode As Integer, Shift As Integer)

    Static NoSelectText As String   ' texte tapé par l'utilisateur
    Dim i As Long                   ' compteur de boucle
    Const RGBerror = 255            ' couleur du fond en cas d'erreur
    
    
    With CB '<== SEULE LIGNE A MODIFIER
      
        ' touche que l'on ne doit pas gérer dans cette procedure
        If KeyCode = vbKeyUp Then Exit Sub      ' utilisé par VB
        If KeyCode = vbKeyDown Then Exit Sub    ' utilisé par vb
        If KeyCode = vbKeyLeft Then Exit Sub    ' pour se déplacer
        If KeyCode = vbKeyRight Then Exit Sub   ' pour se déplacer
        
        ' action spéciale pour la touche BACK
        If KeyCode <> vbKeyBack Then
        NoSelectText = Mid(.Text, 1, Len(.Text) - .SelLength)
        Else
            If NoSelectText <> "" Then
            NoSelectText = Mid(NoSelectText, 1, Len(NoSelectText) - 1)
            End If
        End If
        
        ' recherche de la correspondance
        For i = 0 To .ListCount - 1
            If UCase(NoSelectText) = UCase(Mid(.List(i), 1, Len(NoSelectText))) Then
                .ListIndex = i
                Exit For
            End If
        Next
        
        ' selection de la partie que l'on a rajouté automatiquement
        .SelStart = Len(NoSelectText)
        .SelLength = Len(.Text)
        
        ' partie optionnelle qui change la couleur de fond en cas d'erreur
        If .ListIndex = -1 Then
            .BackColor = RGBerror
        Else
            .BackColor = vbWindowBackground
        End If
        
    End With

End Sub

Conclusion :


Maj sur
http://fred.just.free.fr/francais/exemples/comboboxsearch.html

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.