XL 2013 Hauteur ligne listbox

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 !

CGU2022.

XLDnaute Junior
Bonjour
Mon problème du jour : je souhaite avoir dans la listbox le texte entier d'une cellule et non cela:

1667932226607.png


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...


1667932444124.png


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....
 

Pièces jointes

  • 1667932193633.png
    1667932193633.png
    2 KB · Affichages: 30
Bonjour CGU,
Je ne pense pas qu'il soit possible directement de remplir une Listbox avec ce genre de chaine en conservant la mise en forme de la cellule.
Le plus simple étant, je pense, de la remplir à partir d'un tableau splitté, le séparateur ayant le code 10.
VB:
Sub RemplirListbox()
    Tablo = Split([C13], Chr(10))
    For i = 0 To UBound(Tablo)
        UserForm1.ListBox1.AddItem Tablo(i)
    Next i
    UserForm1.Show
End Sub
Voir PJ
 

Pièces jointes

- 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
3
Affichages
750
Réponses
3
Affichages
569
Réponses
3
Affichages
449
Réponses
40
Affichages
2 K
Réponses
5
Affichages
509
Retour