Recherche semi automatique (Find)

  • Initiateur de la discussion Initiateur de la discussion jonathan681
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

jonathan681

XLDnaute Nouveau
Bonjours,
C'est la première fois que je poste sur se site. J'espère que vous pourrez m'aider.
J'ai un code qui me permet de faire une recherche semi automatique grâce à une variable; cependant j'aimerais que recherhe liste les valeur des cellules qui contiennent la variable et actuellement la recherche ne retourne que les valeurs égal à ma variable.

Voici le code de la recherche:

Private Sub TextBox1_Change()
Dim Plage As Range, Cell As Range
Dim Recherche As String, Adresse As String
Dim Ligne As Integer
'creer un objet c
Dim C As Object
'
Dim i As Integer
'vider la listebox
ListBox1.Clear
Recherche = TextBox1.Value
Range("B3").Select
Ligne = Sheets("Feuil1").Range("B" & "65536").End(xlUp).Row
Set Plage = Sheets("Feuil1").Range("B" & "2:" & "B" & Ligne)
With Plage
Set C = Plage.Find(Recherche)
If Not C Is Nothing Then
Adresse = C.Address
Do
If UCase(Recherche) = UCase(Left(C, Len(Recherche))) Then
With ListBox1
.AddItem C
.List(.ListCount - 1, 1) = C.Row 'Ajout mDF

End With

End If
Set C = .FindNext(C)

Loop While Not C Is Nothing And C.Address <> Adresse
End If
End With
End Sub

J'ai essayé plusieur méthode comme :
Set C = Plage.Find(Recherche, LookAt:=xlPart)
ou
Set C = Plage.Find("*" & Recherche & "*")
sans résultat pour l'instant. J'espère vraiment que vous pourrez m'aider
 
Re : Recherche semi automatique (Find)

Salut,

Peut être faire un tour du coté du "Like"

{Si la valeur de A2 contient le mot Truc (précédé de ce que tu veux, suivi de ce que tu veux) ..}
If Range("A2").Value like "*Truc*" then ...

En esperant t'avoir aidé 🙂
 
Re : Recherche semi automatique (Find)

Bonjour le fil 🙂,
En principe, xlPart fonctionne, mais je ne vois pas l'intérêt de comparer ensuite en UCase 🙄...
Jette un oeil à ce fil, on avait poussé le bouchon à faire des recherches sur des parties de mots dans le désordre 😛...
Bon courage 😎
 
Re : Recherche semi automatique (Find)

Merci pour ton aide JNP la recherche fonctionne et je suis en train d'essayer de l'adapter pour mon code. J'aurais peut être encore besion de votre aide car je débute en VBA excel et ce ne sera surement pas simple d'adapter le code merci en tout cas.
 
Re : Recherche semi automatique (Find)

JNP, j'ai réussie a intégrer le code de du lien que tu ma donné. Cependant j'ai un dernier probleme de compréhension, j'ai créé une plage de cellule pour ma recherche :
Ligne = Sheets("Feuil1").Range("B" & "65536").End(xlUp).Row
Set Plage = Sheets("Feuil1").Range("B" & "2:" & "B" & Ligne)
With Plage

mais dans la listebox il affiche la colonne A, alors que j'aimerais afficher la colonne B pour faciliter la lecture.

Donc mon problème est que je ne trouve pas l'endroie ou il faut changer pour que le résultat affiché soit de la colonne B et pas de la A.
Merci.
 
Re : Recherche semi automatique (Find)

Re 🙂,
JNP, j'ai réussie a intégrer le code de du lien que tu ma donné.
Le code du lien 😕 ? Il y en avait bien une douzaine de codes 😛...
Poste ton code intégral, ou mieux, un fichier test avec le code à modifier, là je pourrai te donner une réponse, mais comprends que With Plage ne me dis aucunement ce que tu as choisi 🙄...
A + 😎
Ajout : Finalement, tu as trouvé, c'est bien. Bon courage 😎
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
703
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Réponses
7
Affichages
316
Retour