VBA - Comment ajuster la hauteur des colonnes dans une Listbox ?

Bonjour à tous,

Je débute en VBA alors soyez bienveillants

J'ai une base de données et j'ai crée un formulaire de saisie et de recherche vie deux UserForm.

Pour le formulaire de recherche jai utilisé une ListBox qui selon une macro va chercher une liste sur une de mes pages. Jusque là tout va bien !

J'ai paramétré la longueur des colonnes mais je n'arrive pas à ajuster la hauteur de ma ligne...

si vous avez des idées je suis preneuse

Merci d'avance !

14envoi-forum.xlsm (51.87 Ko)

bonsoir,

Private Sub UserForm_Initialize()
     'On charge les en-têtes de la table client dans la liste déroulante
     Feuil2.Activate
     With ComboBox1
          .List = WorksheetFunction.Transpose(Feuil2.Range("A1:P1"))
          .ListRows = .ListCount   '<<<<<< le nombre correct
     End With
     Feuil1.Activate

End Sub

J'ai essayé mais ça ne fonctionne pas...

Désolé si je suis nulle

J'ai mis une pièce jointe un exemple de cellule et l'affichage dans la listBox pour être plus claire : Je voudrais voir tout le contenu de la cellule Lieu dans ma list Box mais il ne met que la première ligne dans la ListBox.

Merci encore pour votre patience

listbox2

re,

dans un boucle, on cherche le longueur maximal des lieux sélectionnés et puis on ajuste si nécessaire (la colonne 9, de lieu)

Private Sub CommandButton1_Click()

     On Error GoTo gestionerreur:     'On déclenche la gestion des erreurs

     Feuil2.Range("R2").Value = ComboBox1.Value     'on affecte le contenu de la ComboBox dans la zone de critère
     Feuil2.Range("R3").Value = TextBox1.Value     'On affecte le contenu da la ListBox dans la zone de critère
     Call Filtrer     'Lance la macro du même nom
     'On charge la ListBox avec le résultat du filtre avancé.
     ListBox1.RowSource = Feuil2.Range("ListeExtraction").Address(external:=True)
     txtTotal.Value = Feuil2.Range("R7").Value

     arr = Sheets("BDD").Range("ListeExtraction").Value     'les données filtrés
     For i = 1 To UBound(arr): l = Application.Max(l, Len(arr(i, 9))): Next     'longueur maximal des "lieus"

     With ListBox1
          sp = Split(Replace(.ColumnWidths, " pt", ""), ";")     'columnwidths predefined
          sp(8) = Application.Max(l * 6.5, CInt(sp(8)))     'si c'etait trop petit pour "lieu", agrandir
          .ColumnWidths = Join(sp, ";")     'écrire le résultat vers listbox1
     End With

     Exit Sub     'Si aucune analyse trouvée, alors on sort de la procédure et on affiche un message.
gestionerreur:
     MsgBox "Une erreur est intervenue ou aucune analyse trouvée sur ce critère " & TextBox1.Text

End Sub

Merci j’essaye ça aujourd’hui

ma colonne contenant le lieu envoyé dans ma Liste box est en 26 est ce que je dois changer le 9 en 26 ?

La largeur est ok mais pas la hauteur :-/

re,

à mon avis, on sait élargir une colonne dans votre listbox, ce que j'ai essayé de faire, tout les charactères de "lieu" sont maintenant visible, mais il n'y a pas de possibilité d'écrire cela sur 2 lignes ("wrapping") comme dans une cellule. (I4 dans l'image)

Mais je peux me tromper, si l'il y a quelqu'un avec la solution ...

Rechercher des sujets similaires à "vba comment ajuster hauteur colonnes listbox"