OVH Cloud OVH Cloud

recherche dynamique

4 réponses
Avatar
ced
Bonjour,

Je cherche un code qui me permettrait de faire une recherche dynamique d'une
liste, un peu comme dans l'aide.

Je met c, il y a tout ce qui commence par c etc....

merci

4 réponses

Avatar
SL
Bonjour

avec ta liste dans une plage "liste" triée par ordre alpha
en C1 tu tapes C
en D1 : données, validation, liste, personnalisé :
ÞCALER(liste;EQUIV(C1;GAUCHE(liste;NBCAR(C1));0)-1;0;EQUIV(C1;GAUCHE(liste;NBCAR(C1));1)-EQUIV(C1;GAUCHE(liste;NBCAR(C1));0)+1;1)
tu choisis parmi tout ce qui commence par C

Est-ce ça que tu cherches ?

Stéphane

"ced" a écrit dans le message de news:

Bonjour,

Je cherche un code qui me permettrait de faire une recherche dynamique
d'une
liste, un peu comme dans l'aide.

Je met c, il y a tout ce qui commence par c etc....

merci



Avatar
ced
Merci,

C'est pour faire ca avec un Userform a partir de VBA.

Et bien sur, la liste est dans un fichier fermé...




Bonjour

avec ta liste dans une plage "liste" triée par ordre alpha
en C1 tu tapes C
en D1 : données, validation, liste, personnalisé :
ÞCALER(liste;EQUIV(C1;GAUCHE(liste;NBCAR(C1));0)-1;0;EQUIV(C1;GAUCHE(liste;NBCAR(C1));1)-EQUIV(C1;GAUCHE(liste;NBCAR(C1));0)+1;1)
tu choisis parmi tout ce qui commence par C

Est-ce ça que tu cherches ?

Stéphane

"ced" a écrit dans le message de news:

Bonjour,

Je cherche un code qui me permettrait de faire une recherche dynamique
d'une
liste, un peu comme dans l'aide.

Je met c, il y a tout ce qui commence par c etc....

merci








Avatar
SL
ça dépasse mes compétences ...
peut-être sur http://www.excelabo.net/xl/listes.php

Stéphane

"ced" a écrit dans le message de news:

Merci,

C'est pour faire ca avec un Userform a partir de VBA.

Et bien sur, la liste est dans un fichier fermé...




Bonjour

avec ta liste dans une plage "liste" triée par ordre alpha
en C1 tu tapes C
en D1 : données, validation, liste, personnalisé :
ÞCALER(liste;EQUIV(C1;GAUCHE(liste;NBCAR(C1));0)-1;0;EQUIV(C1;GAUCHE(liste;NBCAR(C1));1)-EQUIV(C1;GAUCHE(liste;NBCAR(C1));0)+1;1)
tu choisis parmi tout ce qui commence par C

Est-ce ça que tu cherches ?

Stéphane

"ced" a écrit dans le message de news:

Bonjour,

Je cherche un code qui me permettrait de faire une recherche dynamique
d'une
liste, un peu comme dans l'aide.

Je met c, il y a tout ce qui commence par c etc....

merci










Avatar
PMO
Bonjour,

Une piste avec ce qui suit

1) Créez un UserForm avec la propriété (Name) = UserForm1
2) Insérez-y un contrôle ListBox (Name) = ListBox1
3) puis un contrôle TextBox (Name) = TextBox1

4) Dans la fenêtre Projet - VBAproject (Explorateur de projets) cliquez
sur UserForm1 et faites apparaître sa fenêtre de code par clic droit.
Copiez le code suivant et activez la procédure Private Sub
UserForm_Initialize()
adéquate.

'**********
Private var As Variant

Private Sub TextBox1_Change()
Dim i&
For i& = 1 To UBound(var, 1)
If UCase(Mid(var(i&, 1), 1, Len(TextBox1))) = UCase(TextBox1) Then
ListBox1.ListIndex = i& - 1
ListBox1.TopIndex = i& - 1
Exit For
End If
Next i&
End Sub

''### Activez cette procédure si les données sont
''### dans ce classeur.
''### Adaptez le nom de la feuille contenant les données
'Private Sub UserForm_Initialize()
'Dim S As Worksheet
'Set S = Sheets("test") 'Adapter selon le nom de la feuille
'var = S.Range("a1:a" & S.[a1].CurrentRegion.Rows.Count & "")
'ListBox1.List = var
'End Sub


''### Activez cette procédure si les données sont
''### dans un classeur externe fermé.
''### Adaptez le nom de la feuille contenant les données
''### et le chemin du classeur externe
Private Sub UserForm_Initialize()
Dim WB As Workbook
Dim S As Worksheet
Set WB = GetObject("c:essai.xls") 'Adapter selon le chemin
Set S = WB.Sheets("test") 'Adapter selon le nom de la feuille
var = S.Range("a1:a" & S.[a1].CurrentRegion.Rows.Count & "")
WB.Close savechanges:úlse
Set WB = Nothing
ListBox1.List = var
End Sub
'**********
5) Lancez le UserForm et tapez dans la TextBox.

Cordialement.

--
PMO
Patrick Morange



Bonjour,

Je cherche un code qui me permettrait de faire une recherche dynamique d'une
liste, un peu comme dans l'aide.

Je met c, il y a tout ce qui commence par c etc....

merci