Fonction recherche et resultat multi colonne

Bonjour à tous,

Tout d'abord merci énormément pour votre travail d'une aide précieuse pour les débutants dont je fais partie !

Dans la même veine que la video explicative du champ recherche en quelques minutes, j'ai une demande dont la réponse m'échappe :

J'aimerai en effet que le resultat de la recherche qui se fait de la colonne 1 à 3 soit affiché en concatenation dans la listbox1 dans cette ordre :

Resultat : colonne1 &" " colonne2 & " " colonne 3

voici mon code :

Private Sub ListBox1_Click()
  ActiveWindow.ScrollRow = Me.ListBox1.List(Me.ListBox1.ListIndex, 1)
End Sub

Private Sub TextBox1_Change()
Application.ScreenUpdating = False

    Range("A9:C720").Interior.ColorIndex = 2
    ActiveWindow.ScrollRow = 9
    With Me.ListBox1
      .Clear
      .ColumnCount = 2
      .ColumnWidths = "-1;0"
      .Height = 80.5
      .Width = 450
    End With
    If TextBox1 <> "" Then
        For ligne = 9 To 720
            For colonne = 1 To 3
                If Cells(ligne, colonne) Like "*" & TextBox1 & "*" Then
                    Range("A" & ligne & ":C" & ligne).Interior.ColorIndex = 43
                    ListBox1.AddItem Cells(ligne, colonne)
                Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = ligne
                End If
            Next
        Next
    End If
End Sub

Avez vous une idée pour m'aider ?

Bonjour et bienvenue sur le forum

Joindre une macro, c'est bien, mais sans le fichier auquel elle se rapporte, ça l'est beaucoup moins...

Bye !

Bonjour et désoler pour l'oubli !

Voici le fichier

34category-matrix.zip (27.23 Ko)

Un essai à tester. Te convient-il ?

Bye !

28category-matrix.zip (35.55 Ko)

Merci pour ta réponse ! On est pas loin du résultat voulu néanmoins :

Si on prend pour exemple dans la list le mot "CIS", il y a une ribambelle de résultat qui pourrais convenir, mais dans cette version seul apparaît le premier résultat en Vert mais on ne peux pas etre sure que ce soit le résultat rechercher.

Ce que je voudrais obtenir c'est que dans la listbox1 apparaissent les résultats de la premiere a la 3éme colonne ainsi l'utilisateur pourra sélectionner le résultat qui lui parait cohérent et cliquera dessus, ce qui le fera apparaître en vert sans besoin de scroller...

C'est un peux tricky mais c'est ce qui me semble le mieux, si tu reprend mon ancien fichier et que tu indiques CIS dans la recherche tu comprendra mieux le problème

Bonjour,

Recherche multi-mots et multi_colonnes

Dim f, choix(), Rng, Ncol
Private Sub UserForm_Initialize()
   Set f = Sheets("GCE HELP DESK CATEGORY MATRIX")
   Set Rng = f.Range("a9:C" & f.[a65000].End(xlUp).Row)
   TblTmp = Rng.Value
   Ncol = Rng.Columns.Count
   For i = LBound(TblTmp) To UBound(TblTmp)
     ReDim Preserve choix(1 To i)
     For k = LBound(TblTmp) To UBound(TblTmp, 2)
       choix(i) = choix(i) & TblTmp(i, k) & " * "
     Next k
   Next i
   Me.ListBox1.List = Rng.Value
End Sub

Private Sub TextBox1_Change()
   If Me.TextBox1 <> "" Then
     mots = Split(Trim(Me.TextBox1), " ")
     Tbl = choix
     For i = LBound(mots) To UBound(mots)
       Tbl = Filter(Tbl, mots(i), True, vbTextCompare)
     Next i
       n = 0: Dim b()
       For i = LBound(Tbl) To UBound(Tbl)
         a = Split(Tbl(i), "*")
         n = n + 1: ReDim Preserve b(1 To Ncol, 1 To n)
         For k = 1 To Ncol
           b(k, i + 1) = a(k - 1)
         Next k
       Next i
       If n > 0 Then
         ReDim Preserve b(1 To Ncol, 1 To n + 1)
         Me.ListBox1.List = Application.Transpose(b)
         Me.ListBox1.RemoveItem n
       End If
       Me.Label1.Caption = UBound(Tbl) + 1
   Else
    UserForm_Initialize
  End If
End Sub

Ceuzin

Bonsoir Ceuzin et surtout Merci !

C'est une solution différente mais encore plus puissante que celle demandé, j'ai modifier légèrement le user form pour que les colonnes soit plus adaptés, savez vous ou dois-je preciser la font et la taille des textes de résultats ?

Encore un gros merci pour votre aide !

>savez vous ou dois-je preciser la font et la taille des textes de résultats ?

C'est la propriété FONT du ListBox et des TextBox.

Ceuzin

Bonsoir,

je débute en fonctions excel et je souhaiterais utiliser ce fichier mais en modifiant les titres des colonnes ainsi que rajouter plusieurs colonnes.

Est-ce possible??

Merci par avance..

CordialemenT

Rechercher des sujets similaires à "fonction recherche resultat multi colonne"