XL 2016 Recherche de référence... (VBA)

  • Initiateur de la discussion Initiateur de la discussion WEIDER
  • 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 !

WEIDER

XLDnaute Impliqué
Bonsoir à toutes et tous !

Pouvez vous m'aider s'il vous plait à résoudre mon petit problème, car moi je n'y arrive pas....
Tout est dit dans ma pièce jointe.

Mille mercis à vous !
 

Pièces jointes

Bonjour Staple1600,

Merci bien pour cette nouvelle réponse 😉, question par rapport à ton exemple...

Imaginons que tu es tapé dans ta recherche l'entièreté de ta cellule, c'est à dire XZ 31 891, est-ce qu'il t'aurait affiché uniquement la référence concernée (ligne 1), ou les trois commençant par XZ 31 comme dans ton exemple ?
Autrement dit, est-ce ta recherche se fait sur les 4 premiers digit ou sur l'ensemble de la référence comme je le souhaiterai !

Si tu possèdes toujours ton fichier, aurais tu possibilité de me l'envoyer afin que je puisse essayer de comprendre et surtout voir si je peux l'adapter au miens ?

Merci encore pour ton aide 🙂

Moi, avec le mien, j'en suis toujours là.....
 

Pièces jointes

Bonjour le fil,

Pas besoin de mon fichier (de toute façon, il est déjà effacé)
1) Il te suffit sur une feuille vierge d'insérer un TextBox et une Listbox
2) (Clic-droit sur l'onglet => Visualiser le code => copier/coller là le code VBA
3) Ensuite sur la feuille, reproduis mon petit tableau
ou éxécute la macro ci-dessous pour le recréer.
VB:
Sub version()
Dim i As Long
Application.ScreenUpdating = False
            [A1:C1] = _
Array("ITEM1", "ITEM2", "ITEM3")
            [A2:C25] = _
Array("=""XYZ ""&ALEA.ENTRE.BORNES(1,627)&""-""&CHAR(64+ROW())", "=""abc""&ROW()-1", "=""efg""&ROW()-1")

[A1].CurrentRegion.Borders.LineStyle = 1
ActiveSheet.UsedRange = ActiveSheet.UsedRange.Value
For i = 2 To 25 Step 5
Cells(i, "A") = [A5]
Next
End Sub
NB: Dans la procédure du TextBox1, remplace la ligne correspondante par celle-ci
If c.Value Like "*" & TextBox1.Text & "*" Then
Pour tester saisis dans le textbox la valeur affichée dans la cellule A5.
 
Bonsoir à tous et à toi Weiber
Je viens de tester ton code ça fonctionne comme il faut.
Deux solutions si tes recherches portes su la colonne 3 c'est normal que tu n'est que trois résultats. (Recherche dans la colonne désignation)
si ta recherche doit se faire dans la colonne 2 modifie ton code comme suit...
VB:
 If TextBox1 <> "" Then
        For ligne = 15 To 300     'reprends les datas ci-dessus.
            If Cells(ligne, 2) Like "*" & Ucase(TextBox1) & "*" Then
            Range("A" & ligne & ":C" & ligne).Interior.ColorIndex = 43     'Donne la couleur verte des sélection après recherche.
                ListBox1.AddItem Cells(ligne, 1)     'Cette ligne et ci-dessus détermine via les 'Propriétés' les espacement dans la ListBox.
                ListBox1.List(ListBox1.ListCount - 1, 3) = Cells(ligne, 4)
                ListBox1.List(ListBox1.ListCount - 1, 1) = Cells(ligne, 2)
                ListBox1.List(ListBox1.ListCount - 1, 2) = Cells(ligne, 3)
            End If
        Next
    End If

J'espère que c'est ce que tu recherche sinon reformule, bonne soirée
 
Bonjour Valtras,

Merci bien pour ton aide.

Effectivement, ma recherche doit porter sur la Colonne 'B' ! Et sur l'entièreté de la référence.
J'ai fais un copier collé de ton code ci-dessus mais cela me génère une 'Erreur de compilation' avec un surlignement sur 'If TexBox1'.... !?!?
 
- 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
16
Affichages
582
Retour