Problème de tri intuitif ListBox

Bonjour le forum

Je rencontre une difficulté pour tirer une ListBox à l'aide d'un TexBox. Il s'agit d'une recherche intuitive effectuée avec un code récupéré sur le site de Jacques Boisgontier.

Je rencontre le même problème que sur l'un de mes précédent poste qui avais été résolu : https://forum.excel-pratique.com/viewtopic.php?f=2&t=120865&start=10

Le code fonctionne très bien tant que le nombre de caractères (espaces y compris) ne dépassent pas les 255, au dela j'ai une erreur d'incompatibilité de type :

Private Sub TextBox1_Change()
     clé = "*" & UCase(Me.TextBox1) & "*"
     Dim Tbl()
     n = 0: ncol = UBound(TabBD, 2)
     For i = LBound(TabBD) To UBound(TabBD)
       If UCase(TabBD(i, colFiltre)) Like clé Then
         n = n + 1: ReDim Preserve Tbl(1 To ncol, 1 To n)
         For k = 1 To ncol: Tbl(k, n) = TabBD(i, k): Next
       End If
      Next i
      If n > 0 Then
        ReDim Preserve Tbl(1 To ncol, 1 To n + 1)
        Me.ListBox1.List = Application.Transpose(Tbl) 'Ligne en erreure !
        Me.ListBox1.RemoveItem n
      End If
End Sub

Par avance, merci de l’intérêt porté au sujet

EDIT : j'ai comme l'impression que c'est comme si la fonction "Transpose" avais des limites de caractère à transposer Car j'ai essayé Me.ListBox1.List = Tbl et là je n'ai pas d'erreur.

10demo.xlsm (44.18 Ko)

Je clôture le sujet car le problème vient du fait que Application.Transpose a une limite de 255 caractères. Pour ceux qui passe ici je met le lient du nouveau poste ci-dessous :

https://forum.excel-pratique.com/viewtopic.php?f=2&t=125531

Bonjour,

pour éviter Transpose on peut utiliser .Column au lieu de . List

        Me.ListBox1.List = Application.Transpose(Tbl)
        Me.ListBox1.Column = Tbl 'équivalent de la ligne du dessus

A+

Je répond de mon tel, merci du retour je test ça cette aprem

Rechercher des sujets similaires à "probleme tri intuitif listbox"