VBA rechercher Nom commençant par

Bonjour,

Si je vous donne l'exemple réel via ma macro du boulot se serait trop complexe, pour faire simple je vous explique via un exemple plus simple.

Il était une fois ....

Je cherche via une cellule (D6) le début d'un Prénom qui se trouve dans l'onglet "BD"

Une fois qu'il me le trouve il me donne un résultat (E6) qui se trouve sur la ligne dans "BD"

Jusque là ça va sauf que pour X raison que je ne vais pas expliquer je fais que mettre parfois le début du prénom pas le complet.

Donc vous pourrez voir dans mon fichier si je cherche "Eric" il me donne en résultat "VBA"

Mais si je mets "Jean" il prend que le premier trouvé, il y a des : Jean-Marc, Jean-Pierre, Jean-Michel, Jean-Luc

J'aimerais qu'il me propose via une fenêtre d'alerte quel prénom que je veux choisir parmi les "Jean"

PS: ma macro se trouve dans Feuil1

Merci pour votre aide.

25recherche.xlsm (22.66 Ko)

Un truc dans se genre qui me demande le numéro de ligne que je voudrais.

capture d ecran 2022 12 04 082624

Bonjour,

je vous propose un fichier trouver sur le net, ici je crois, éventuellement où j'ai fait des modifs... Bref c'est un fichier. Il vous permettra peut-être d'avancer dans votre projet :

@ bientôt

LouReeD

ou bien comme celui-ci :

@ bientôt

LouReeD

le premier fichier original :

@ bientôt

LouReeD

Merci, le dernier va me servir pour d'autre programme. EXCELLENT

merci pour tes exemples

En fait c'est ça que je voulais,

Str_critère = InputBox(MM, Title, Default)

Il me reste juste à l'adapter :)

bonjour LouReeD, Jefekoi, le fil, avec un "evaluate" en VBA

15recherche-1.xlsm (21.79 Ko)
Private Sub Worksheet_Change(ByVal Target As Range)
     Dim aBD

     With Target
          If .Address <> "$D$6" Then Exit Sub

          Sheets("BD").Range("B4:B9").Name = "MonBD"     'vous cherchez dans cette plage
          If Len(.Value) = 0 Then
               aBD = [transpose(MonBD)]     'matrice avec les noms concernés
          Else
               ThisWorkbook.Names.Add "MonNom", .Value     'cherchez avec ce nom
               aBD = Filter([transpose(if(left(MonBD,len(MonNom))=MonNom,MonBD,"~"))], "~", 0)     'matrice avec les noms concernés
          End If

          If UBound(aBD) = -1 Then
               MsgBox "Sorry, rien ..."
               .Offset(, 1).ClearContents
          Else
               MsgBox Join(aBD, vbLf), vbInformation, "les noms " & .Value & " ..."
               .Offset(, 1).Value = Join(aBD, vbLf)
          End If

     End With
End Sub

Merci BsAlv

On peu plus difficile à adapter mais il y a de l'idée pour d'autres programme, je prend et garde précieusement ;)

Bonjour, Jefekoi,

merci pour vos remerciements !

BsAlv, bonjour ! Toujours aussi pro dans vos codes ! tien, il me vient une idée... Voyez en MP...

@ bientôt

LouReeD

BsAlv Je viens de tester ta source, très intéressante, mais pas pour mon problème.
Il me donne bien les prénoms mais je ne peux pas récupérer la colonne "VBA,EXCEL etc..."
Sauf bien sur si je note le prénom correctement

Encore merci pour ton aide

bonjour, la question initiale était ces noms, la question maintenant, c'est quoi, vous voulez les numéros de lignes ?

Merci BsAlv, j'ai réussi à l'adapter ;)

bonjour,

proficiat.

Comme ça ?

42recherche-1.xlsm (22.35 Ko)

Incroyable mais où as tu appris le VBA ?

Merci

en faisant et et lisant beaucoup de sites.

Rechercher des sujets similaires à "vba rechercher nom commencant"