En têtes de colonnes dans listbox

Bonjour à tous

Petit problème avec mon formulaire.

J'ai un formulaire de recherche, qui me permet de trier, filtrer, en fonction de plusieurs critères.

Mon problème, est que je n'arrive pas à mettre les intitulés de colonnes, dans ma listbox.

je joint mon fichier.

15exemple.xlsm (43.21 Ko)

merci encore .

titi32600

Bonjour Titi, bonjour le forum,

Mon antivirus a bloqué l'ouverture de ton fichier ! Sais pas si c'est le corona ou un variant mais tu devrais le faire vacciner...

salut Thau Thème,

ok je vois ça, et le passe à l'anti virus

re,

je l'ai scanné avec l'antivirus sur le PC du boulot (McAfee), et je trouve rien. Bizzare???

8exemple.xlsm (43.21 Ko)

re,

voici le code qui me pose problème dans mon fichier exemple.

c'est surtout la partie des entete de la listbox.

Private Sub UserForm_Initialize()

   NomTableau = "Tableau2"
   NbCol = Range(NomTableau).Columns.Count
   TblBD = Range(NomTableau).Resize(, NbCol + 1).Value       ' Array: + rapide
   For i = 1 To UBound(TblBD): TblBD(i, NbCol + 1) = i: Next i  ' No enregistrement
   Me.ListBox1.List = TblBD
   Me.ListBox1.ColumnCount = NbCol + 1
   Me.ListBox1.ColumnHeads = True
   Me.ListBox1.ColumnWidths = "50;0;80;210;40;40;40;40;60;80;120;120;130;120;130;0;0;0;0;0;0;0"

   '--- ComboBox choix colonne filtre
   Me.ComboChoixColFiltre.List = Application.Transpose(Range(NomTableau).Offset(-1).Resize(1))
   Me.ComboTri.List = Application.Transpose(Range(NomTableau).Offset(-1).Resize(1))
   Me.ComboChoixColFiltre.ListIndex = 0
   Me.LabelColFiltre.Caption = "Filtre: " & Me.ComboChoixColFiltre

   '--- Combobox recherche
   Set d = CreateObject("scripting.dictionary")
   For i = 1 To UBound(TblBD)
     d(TblBD(i, 1)) = ""
   Next i
   temp = d.keys
   Tri temp, LBound(temp), UBound(temp)
   Me.ComboBoxRech.List = temp

   '--- Labels
   TblTitre = Application.Transpose(Range(NomTableau).Offset(-1).Resize(1))
   For i = 1 To NbCol
     Me("label" & i) = TblTitre(i, 1)
   Next i
   For i = NbCol + 1 To 18
      Me("label" & i).Visible = False: Me("TextBox" & i).Visible = False
   Next i

   'Affichage des label des colonnes du tableau
  'Me.ListBox1.ControlSource = "Stock!A2:P2"

End Sub

titi32600

Re,

Je t'avoue que je ne m'embête plus avec les en-têtes des listboxes où la propriété ColumnHeads fonctionne une fois sur deux. Je passe par une seconde listbox uniquement pour ces en-têtes avec les mêmes caractéristique que la listbox originale. Voir ton fichier modifié en pièce jointe :

32titi-ep-v01.xlsm (36.80 Ko)

Re Thau Thème,

oui, vrais que l'idée d'une 2eme listbox, est inintéressante.

ça me conviendra très bien.

merci encore de ton aide

titi32600

re,

en fait, tu es obligé d'avoir ta listbox principale (Listbox1) assez grande, pour utiliser ta méthode.

si tu réduit la largeur de ta Listbox1, ta Listbox2 ne bouge pas quand tu utilise la barre de progression horizontale.

Re,

Oui c'est le gros défaut de cette méthode... Du coup je me suis acheté trois écrans supplémentaires pour pouvoir afficher toutes les ListBoxes ...

Rechercher des sujets similaires à "tetes colonnes listbox"