Mise à jour d'un combobox en fonction de la frappe clavier

Bonjour à tous!

Afin de faciliter l'utilisateur ans l'utilisation d'un formulaire, je souhaite mettre en place une combobox qui affiche en live les différents choix en fonction de ce que l'utilisateur tape au clavier.

Pour le moment, si l'utilisateur tape "abc", le combo propose tous les choix commencant par "abc'.

Mais ce que je souhaite faire, c'est si l'utilisateur tape "abc", le combo propose tous les choix qui contiennent la chaine de caractère "abc".

Pour le moment, mon combobox est créé à l'initialisation du userform comme ça:

Private Sub UserForm_Initialize() 'à l'initialisation de l'UserForm
Dim x As Long
For x = 1 To 150
    With ComboBox1
        .AddItem Sheets("Proposition").Range("A" & x)
    End With
Next x
End Sub

Peut être utiliser le combobox_change() ?

oui combobox_change

Il suffit de faire un .find avec comme argument xlpart.

EngueEngue a écrit :

oui combobox_change

Il suffit de faire un .find avec comme argument xlpart.

Si tu peux m'en dire plus...

A chaque changement de tapage dans une textbox ton combobox se vide et se reremplit en bouclant sur des .find... sans ton fichier impossible de te le coder

EngueEngue a écrit :

A chaque changement de tapage dans une textbox ton combobox se vide et se reremplit en bouclant sur des .find... sans ton fichier impossible de te le coder

Je comprends le principe et j'ai essayé ce truc là:

Private Sub UserForm_Initialize() 'à l'initialisation de l'UserForm
Dim x As Long
For x = 1 To 150
    With ComboBox1
        .AddItem Sheets("Proposition").Range("A" & x)
    End With
Next x
End Sub

Private Sub ComboBox1_Change()
Voie = ComboBox1.Text
Dim Plage As Range
Dim Tab1() As String
With Sheets("Proposition")
    Set Plage = .Range("A1:A" & .Range("A65536").End(xlUp).Row)
End With
ReDim Tab1(1 To Plage.Count)
For Each Cell In Plage
    If InStr(1, Cell, Voie) Then
    i = i + 1
    Tab1(i) = Cell
    End If
Next
ComboBox1.List = Tab1
End Sub

Mais lorsque je tape une lettre dans le combo, j'ai un message d'erreur "Permission refusée" sur la ligne "ComboBox1.List = Tab1" du Combobox_change

Rechercher des sujets similaires à "mise jour combobox fonction frappe clavier"