Salut à tous,
Je viens à vous car je commence à bloquer sur VBA.
Pour vous donner une vision d'ensemble du projet, j'ai créé un formulaire VBA à travers lequel les utilisateurs rechercheront des infos sur des villes d'europe.
Donc j'ai une bdd sur une feuille du classeur et je fais une RECHERCHEV lorsque que le nom de la ville est tapé dans une combobox. Le seul prob, comme vous le savez, il faut, pour que la recherche fonctionne correctement, que le nom de la ville soit bien orthographié. pour cela, j'ai dejà créé une function qui me permet de simuler l'autocoplétion lorsque l'on commence à taper des lettres dans la combo (vous verrez dans le code pour l'instant c'est une textbox).
Mais comme l'autocomplétion ne fonctionne que si l'entrée saisie est la seule dans la liste, tant que l'utilisateur n'a pas rentré suffisament de lettre, rien ne s'affiche.
Ce que je souhaiterai, c'est comme le système de Google lorsque l'on effectue une recherche: on commence par taper quelques lettres, et une série de suggestions s'affiche en desous.
D'après vous, possible dans combobox sur userform?
Mon code pour l'autocomplétion dans le userform:
Je viens à vous car je commence à bloquer sur VBA.
Pour vous donner une vision d'ensemble du projet, j'ai créé un formulaire VBA à travers lequel les utilisateurs rechercheront des infos sur des villes d'europe.
Donc j'ai une bdd sur une feuille du classeur et je fais une RECHERCHEV lorsque que le nom de la ville est tapé dans une combobox. Le seul prob, comme vous le savez, il faut, pour que la recherche fonctionne correctement, que le nom de la ville soit bien orthographié. pour cela, j'ai dejà créé une function qui me permet de simuler l'autocoplétion lorsque l'on commence à taper des lettres dans la combo (vous verrez dans le code pour l'instant c'est une textbox).
Mais comme l'autocomplétion ne fonctionne que si l'entrée saisie est la seule dans la liste, tant que l'utilisateur n'a pas rentré suffisament de lettre, rien ne s'affiche.
Ce que je souhaiterai, c'est comme le système de Google lorsque l'on effectue une recherche: on commence par taper quelques lettres, et une série de suggestions s'affiche en desous.
D'après vous, possible dans combobox sur userform?
Mon code pour l'autocomplétion dans le userform:
Code:
Option Explicit
Dim oRange As Range
Dim iCharCount As Integer
Dim sAuto As String
Dim sTemp As String
Private Sub ville_txt_Enter()
Set oRange = Worksheets("Tarif").Range("c1000").End(xlUp).Offset(1, 0)
End Sub
Private Sub MyAutoComplete(ByRef oTextbox As Control)
oRange.Value = oTextbox.Text
sAuto = oRange.AutoComplete(oTextbox.Text)
If Len(sAuto) = 0 Then
Me.More_Corresp.Visible = True
Else
Me.More_Corresp.Visible = False
End If
If Len(sAuto) > 0 Then
With oTextbox
sTemp = .Text
.Text = sAuto
.SelStart = Len(sTemp)
.SelLength = Len(sAuto)
End With
End If
End Sub
Private Sub ville_txt_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Sheets("Tarif").Range("c1").Value = Me.ville_txt.Text
oRange.ClearContents
End Sub
Private Sub ville_txt_Keyup(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode >= 48 And KeyCode <= 90 Then
Application.EnableEvents = False
MyAutoComplete Me.ville_txt
Application.EnableEvents = True
End If
End Sub