Private Const CB_FINDSTRING As Long = &H14C Private Const CB_FINDSTRINGEXACT As Long = &H158 Private Const LB_FINDSTRING As Long = &H18F Private Const LB_FINDSTRINGEXACT As Long = &H1A2 Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByRef lParam As Any) As Long Public Function SelectItem(ByRef voControl As Object, ByRef vsItem As String, Optional ByVal vbExact As Boolean = True) As Long Dim eMsg As Long If TypeOf voControl Is VB.ComboBox Then eMsg = IIf(vbExact, CB_FINDSTRINGEXACT, CB_FINDSTRING) ElseIf TypeOf voControl Is VB.ListBox Then eMsg = IIf(vbExact, LB_FINDSTRINGEXACT, LB_FINDSTRING) Else SelectItem = -1 Err.Raise 5 Exit Function End If If LenB(vsItem) Then SelectItem = SendMessage(voControl.hWnd, eMsg, -1, ByVal vsItem) If SelectItem > -1 Then voControl.ListIndex = SelectItem End If Else SelectItem = voControl.ListIndex End If End Function
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.