Sélectioner un nom de rue en en tapant quelques caractères

Bonjour,

Dans un fichier dans lequel les utilisateurs doivent sélectionner une adresse client, j’aimerais leur faciliter la vie et m'assurer de la cohérence des données en leur permettant de ne taper que quelques caractères pour retrouver le nom que je récupère dans une liste. Par exemple, lorsque je tape "tour" le système me renvoie la liste de toutes les adresses contenant ce mot:

Boulevard de la Tour

et il n'y aurait plus qu'à cliquer pour sélectionner le bon! Est-ce faisable? et surtout, qui aurait une solution? Je sèche. Le filtre automatique permet de le faire, mais je vous pas comment le reproduire.

Merci d'avance et bonne journée,

François

Bonjour,

Si tu es curieux de savoir comment une macro traduirait ce que tu sais faire manuellement avec le filtre ... il te suffit de mettre en marche ton enregistreur de macros et d'effectuer le processus une fois ...

Cela te donnera un bon point de départ ... qui sera ensuite perfectible ...

bonjour

salut James

j'amorce...... un essai de principe avec qques explications

16francois-22.xlsx (11.13 Ko)

cordialement

rdv sur mars

James,

ça me donne effectivement quelques pistes, mais ne parlant pas couramment VBA, je rame

Tulipe,

Brillant, merci. C'est exactement ce que je cherchais!

Bonne journée,

François

Tulipe,

Après test en grandeur nature, ta solution nécessite des temps de calcul rédhibitoires sur un fichier adresse de plus de 1000 références. Je continue donc mes recherches

Amicalement, François

Bonjour à tous,

Rien de rédhibitoire ...

Sub TestFiltre()
' Ajuster la Plage de référence .... ainsi que le N° de la Colonne qui contient l'Adresse à filtrer ...
    ActiveSheet.Range("$A$1:$F$10000").AutoFilter Field:=1, Criteria1:="=*tour*"
End Sub

Hello James,

Ce qui était pratique dans la solution proposée par Tulipe, c'était la création dynamique de la liste en fonction des caractères saisi mais, passé une certaine taille, les temps de calcul sont trop longs.

Où j'en suis:

Sub Filter()
Dim AdresseCherchée As String
AdresseCherchée = inputbox("Tapez quelques lettres de l'adresse")
Selection.AutoFilter
    ActiveSheet.Range("ListeAdresses").AutoFilter Field:=1, Criteria1:="*" & AdresseCherchée & "*"
End Sub

me permet d'activer mon filtre, mais j'ai besoin de récupérer ces données pour les proposer à l’utilisateur, par exemple en les recopiant dans la liste source de mon champ de validation de données.

Amicalement,

François

Rechercher des sujets similaires à "selectioner nom rue tapant caracteres"