Récupérer la position d'une chaîne dans une combobox ou une listbox (et sélectionner cette ligne)


Contenu du snippet

Function GetListIndex(oObj As Object, sValue As String) As Long
    GetListIndex = -1
    Dim i As Long
    If Not oObj Is Nothing Then
        If (TypeOf oObj Is ComboBox) Or (TypeOf  oObj Is ListBox) Then
            If oObj.ListCount > 0 Then
                For i = 0 To oObj.ListCount - 1
                    If oObj.List(i) = sValue Then GetListIndex = i: Exit For
                Next i
            End If
        End If
    End If
End Function

'   EXEMPLE  D'UTILISATION
'    =====================
Private Sub Form_Load()
    Combo1.Clear
    Combo1.AddItem "Masculin"
    Combo1.AddItem "Féminin"
    Combo1.ListIndex = GetListIndex(Combo1, "Féminin")
    
    List1.Clear
    List1.AddItem "Masculin"
    List1.AddItem "Féminin"
    List1.ListIndex = GetListIndex(List1, "Féminin")
End Sub


Compatibilité : VB6, VBA

Disponible dans d'autres langages :

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.