CGU2022.
XLDnaute Junior
Bonjour
Mon problème du jour : je souhaite avoir dans la listbox le texte entier d'une cellule et non cela:
qui se met que sur une seule ligne avec une hauteur standard
Avez vous une idée ?
dans les propriétés de la liste box ?
ou dans le code
C'est un userform de recherche
Option Compare Text
Dim f, choix(), Rng, Ncol
Private Sub UserForm_Initialize()
Set f = ActiveSheet
Set Rng = f.range("b17:L" & f.[a65000].End(xlUp).Row)
decal = Rng.Row - 1
Ncol = Rng.Columns.Count
TblTmp = Rng.Value
Ncol = Rng.Columns.Count - 1
ReDim choix(1 To UBound(TblTmp))
For i = LBound(TblTmp) To UBound(TblTmp)
TblTmp(i, Ncol + 1) = i + decal
For k = 1 To Ncol
choix(i) = choix(i) & TblTmp(i, k) & "|"
Next k
choix(i) = choix(i) & (i + decal) & "|"
Next i
'Call Tri(TblTmp, 1, LBound(TblTmp), UBound(TblTmp))
Me.ListBox1.List = TblTmp
End Sub
Private Sub TextBoxRech_Change()
If Me.TextBoxRech <> "" Then
mots = Split(Trim(Me.TextBoxRech), " ")
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, 1 To n)
For k = 1 To Ncol
b(k, i + 1) = a(k - 1)
Next k
b(k, i + 1) = a(k - 1)
Next i
If n > 0 Then
ReDim Preserve b(1 To Ncol + 1, 1 To n + 1)
Me.ListBox1.List = Application.Transpose(b)
Me.ListBox1.RemoveItem n
End If
Else
UserForm_Initialize
End If
End Sub
Cdt...
j'ai un autre problème je doit partir de la colonne B
Set Rng = f.range("b17:L" & f.[a65000].End(xlUp).Row)
car dans la colone A j 'ai des cellules vide et cela plante à Me.ListBox1.List = Application.Transpose(b)
Cdt....
Mon problème du jour : je souhaite avoir dans la listbox le texte entier d'une cellule et non cela:
qui se met que sur une seule ligne avec une hauteur standard
Avez vous une idée ?
dans les propriétés de la liste box ?
ou dans le code
C'est un userform de recherche
Option Compare Text
Dim f, choix(), Rng, Ncol
Private Sub UserForm_Initialize()
Set f = ActiveSheet
Set Rng = f.range("b17:L" & f.[a65000].End(xlUp).Row)
decal = Rng.Row - 1
Ncol = Rng.Columns.Count
TblTmp = Rng.Value
Ncol = Rng.Columns.Count - 1
ReDim choix(1 To UBound(TblTmp))
For i = LBound(TblTmp) To UBound(TblTmp)
TblTmp(i, Ncol + 1) = i + decal
For k = 1 To Ncol
choix(i) = choix(i) & TblTmp(i, k) & "|"
Next k
choix(i) = choix(i) & (i + decal) & "|"
Next i
'Call Tri(TblTmp, 1, LBound(TblTmp), UBound(TblTmp))
Me.ListBox1.List = TblTmp
End Sub
Private Sub TextBoxRech_Change()
If Me.TextBoxRech <> "" Then
mots = Split(Trim(Me.TextBoxRech), " ")
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, 1 To n)
For k = 1 To Ncol
b(k, i + 1) = a(k - 1)
Next k
b(k, i + 1) = a(k - 1)
Next i
If n > 0 Then
ReDim Preserve b(1 To Ncol + 1, 1 To n + 1)
Me.ListBox1.List = Application.Transpose(b)
Me.ListBox1.RemoveItem n
End If
Else
UserForm_Initialize
End If
End Sub
Cdt...
j'ai un autre problème je doit partir de la colonne B
Set Rng = f.range("b17:L" & f.[a65000].End(xlUp).Row)
car dans la colone A j 'ai des cellules vide et cela plante à Me.ListBox1.List = Application.Transpose(b)
Cdt....