XL 2016 Cellule recherche avec listbox dynamique

angeck

XLDnaute Nouveau
Bonjour,

Je cherche depuis hier soir mais je n'arrive pas à le faire, je me permets donc de vous demander votre aide.

Je souhaite lorsque que je clique sur ma cellule A8 et commence à taper un mot une listbox s'ouvre et les résultats qui se trouvent dans les cellules A10 à A"je ne sais pas combien" apparaissent. Quand j'ai fini (sélectionné la ligne de la listbox ou validé le mot entrée dans A8) je souhaite que la listbox disparaisse.

Est-ce faisable finalement ?

Merci pour votre aide.
 

angeck

XLDnaute Nouveau
Merci pour cette réponse. J'ai déjà créé une liste déroulante dans ma cellule A8 mais j'ai 800 lignes différentes avec des noms qui sont des fois très proches donc je cherche plus à faire ceci avec la listbox qui s'enlève.

Cordialement,
 

angeck

XLDnaute Nouveau
Re-bonjour,

J'ai réussi à activer un code dans mon fichier mais il ne fonctionne pas correctement.

Quand je tape des lettres rien ne se passe ou ça m'envoie directement à la ligne en dessous alors que je n'ai même pas tapé de lettre lui appartenant.

Ci-dessous le code utilisé avec mes modifications de ligne, fichier et classeur :

Dim a()
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([A8:A8], Target) Is Nothing And Target.Count = 1 Then
a = Sheets("Liste Enseigne").Range("Enseigne").Value
Me.ComboBox1.List = a
Me.ComboBox1.Height = Target.Height + 3
Me.ComboBox1.Width = Target.Width
Me.ComboBox1.Top = Target.Top
Me.ComboBox1.Left = Target.Left
Me.ComboBox1 = Target
Me.ComboBox1.Visible = True
Me.ComboBox1.Activate
'If Target <> "" Then SendKeys "{esc}"
'Me.ComboBox1.DropDown ' ouverture automatique au clic dans la cellule (optionel)
Else
Me.ComboBox1.Visible = False
End If
End Sub

Private Sub ComboBox1_Change()
If Me.ComboBox1 <> "" Then
Set d1 = CreateObject("Scripting.Dictionary")
tmp = UCase(Me.ComboBox1) & "*"
For Each c In a
If UCase(c) Like tmp Then d1(c) = ""
Next c
Me.ComboBox1.List = d1.keys
Me.ComboBox1.DropDown
End If
ActiveCell.Value = Me.ComboBox1
End Sub

Private Sub ComboBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Me.ComboBox1.List = a
Me.ComboBox1.Activate
Me.ComboBox1.DropDown
End Sub

Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then ActiveCell.Offset(1).Select
End Sub

Hier j'ai demandé de l'aide pour un code qui est aussi sur cette cellule et donc également le code donné par Robert (https://www.excel-downloads.com/threads/macro-selectionner-resultat-recherchev.20010761/)

Peut-il y avoir un court-circuit ? Merci de votre aide.

Cordialement,
 

angeck

XLDnaute Nouveau
Après différents tests la macro de Boisgontier fonctionne et celle de Robert aussi mais les 2 ne fonctionnent pas en même temps.

Si quelqu'un sait comment conbiner la macro ci-dessus et celle ci-dessous :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim R As Range
Rows("10:1000").Select
Selection.Rows.AutoFit

If Target.Address <> "$A$8" Then Exit Sub
If Target.Value = "" Then Exit Sub
Rows("8:8").Select
Selection.Rows.AutoFit

Set R = Columns(1).Find(Target.Value, Range("A8"), xlValues, xlWhole)
If Not R Is Nothing And R.Address <> "$A$8" Then ActiveWindow.ScrollRow = R.Row
R.Select
End Sub

Je vous en remercie.
 

Discussions similaires

Statistiques des forums

Discussions
311 708
Messages
2 081 750
Membres
101 812
dernier inscrit
trufu