Bonjour,

Je vous résume le problème : J'ai créé une liste déroulante modifiable sous Excel, qui est automatiquement garnie au lancement du fichier via Workbook_Open(). Puis, quand on modifie le texte de la ComboBox via ComboBox1_Change() le contenu de la liste est actualisé par requête ( de manière à faire de l'autocompletion plus efficace, dans mon cas, que celui déjà présent dans les combobox).
Seul problème, car à part çà, tout fonctionne, quand je clic sur l'item qui m’intéresse il y a changement dans la combobox donc entrée dans ComboBox1_Change() et le contenu sélectionné disparaît.

Le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub ComboBox1_Change()
    SendKeys "{ESC}"
    ComboBox1.Clear
    Set oRsLike = New ADODB.Recordset
    Set objMyConn = New ADODB.Connection
    Dim req As String
 
    Set oRsLike.ActiveConnection = ThisWorkbook.objMyConn
    req = "SELECT TOP 10 nom FROM client WHERE nom LIKE '%" & ComboBox1.Text & "%' ORDER BY nom"
    oRsLike.Open req
    Do While Not oRsLike.EOF
        listeClient.ComboBox1.AddItem (oRsLike.Fields("nom").Value)
        oRsLike.MoveNext
    Loop
    ComboBox1.DropDown
    ComboBox1.SelStart = Len(ComboBox1.Text)
    SendKeys "{F4}"
End Sub



Merci d'avance pour votre aide et vos idées.