Recherche d'un nom à partir des deux premières lettres


#1

Bonjour, j’ai une liste de 250 noms en colonne B. Je voudrais qu’un Input me demande les deux premières lettres et me place directement dans la portion recherchée.
Ex: je tape “Ma” et il me place directement dans la portion des Marcel - Marchand - Maurice etc.
Je mets un “x” en face du nom recherché en colonne A par exemple et le input revient me demander le suivant ainsi de suite jusqu’à ce que je tape “Fin” dans le input.
Ceci afin de ne pas faire l’ascenseur tout le temps.
Pourvu que ma demande soit claire.
Merci beaucoup par avance.


#2

Merci à ceux qui se seront penchés sur mon problème.
J’ai trouvé, plutôt bidouillé qque chose qui fonctionne à peu près comme je voulais.
Si ça interesse qqun je peux mettre en ligne mais c’est de l’amateurisme
Merci encore …


#3

Bonjour @Trebor85

Bien sur ta solution est la bienvenue!
Comment t’en es tu sorti ?

A bientôt


#4
Sub Lettres()

Dim Lettres As String, derlig As Integer
Lettres = InputBox("Entrez les 3 premières lettres du nom recherché")'On peut n'en demander qu'une ou deux
Lettres = UCase(Lettres)'**_Transformation en majuscule parce que la liste de la colonne B est en majuscule_**
'
derlig = Range("B" & Rows.Count).End(xlUp).Row
For x = 2 To derlig
If Left(Cells(x, 2), 3) = Lettres Then' **_Le 3 correspond au nombre de lettres par lesquelles on recherche_**
Cells(x, 1).Select
End If
Next
End Sub

Voila, les cracks de VBA vont rigoler mais c’est ce que j’ai trouvé.


#5

Je me suis permis de modifier le format de ton message pour mettre en valeur le VBA

cf la procédure à suivre Comment écrire du beau code VBA bien formatté sur ce forum

De plus pas de moqueries ici, on a tous commencé débutant :wink:


#6

Merci pour ton aide et tes encouragements et je profite de l’occasion pour te demander si c’est possible que le inputbox “Entrez les 3 premières lettres du nom recherché” soit en permanence présent.
Ce qui éviterait de relancer à chaque fois la macro.
EX: Dans la colonne B j’ai une liste de 250 noms. Qque part sur l’écran un inputbox attend que j’entre trois lettres. Une fois fait, il me positionne en face du nom, je mets un “X” en face de ce nom en colonne A et je retape trois lettres pour le suivant ainsi de suite. Cet exercice prendrait fin quand je taperai “ZZZ” par exemple.
Pas sûr d’avoir été clair et pas sûr que ce soit possible.
En tous les cas je te remercie


#7

Eventuellement tu peux remplacer l’inputbox par une cellule, et ta macro devra alors sourcer sur ce champ.

Mais de toute facon tu devra appuyer sur un bouton pour lancer la macro.

Sinon tu peux faire une barre de recherche sur Excel aussi, mais ca ne te déplacera pas dans la fichier.


#8

Merci pour ta réponse. Je m’y attendais un peu. Ce que j’ai fait est donc bon … Lol.
A bientôt