listbox, colonne and checkbox

Jnono

XLDnaute Nouveau
Bonjour le forum,

Voila j'ai un userform avec une listbox et 8 checkbox, dans ma listbox mes donnees apparaissent dans 8 clonnes differentes...jusque la tout va bien. Les checkbox me permettent de selectionner les donnees que je souhaite voir apparaitre dans la listbox, par exemple quand je coche simplement 4 checkbox, alors seulement 4 colonnes de ma listbox sont remplies, les autres colonnes restent vide; ceci me permet d'ameliorer la lisibilite des donnees....jusque la, encore, tout va bien. Vous allez me dire, tout va tout le temps bien chez toi et bien pas tout a fait car le probleme c'est que quand je coche 4 checkbox, 4 colonnes sont remplies de donnes, les autres sont vides mais sont toujours la...je voudrais trouver le code qui me permet de faire disparaitre totalement la colonne et pas seulement les donnees qu'elle contient. En gros j'aimerais que lorsque je coche 4 checkbox il n'y est plus que 4 colonnes contenant les donnees dans la listbox sur 8 colonnes.

Ai-je ete clair, je sais pas trop...mais merci de me repondre
Jnono
 

Pierrot93

XLDnaute Barbatruc
Re : listbox, colonne and checkbox

Bonjour Jnono

regarde le code ci-dessous si cela peut t'aider. A placer dans le module de l'userform, nom des objets à modifier :

pour chaque événement change des "checkbox" :
Code:
Private Sub CheckBox1_Change()
LargLolListbox
End Sub

une procédure qui boucle sur l'ensemble des controles de l'USF, si le contrôle est un "checkbox", test si il est coché ou pas, en fonction du résultat, détermine une largeur de colonne. Attention checkbox 1 = colonne 1 etc...

Code:
Sub LargLolListbox()
Dim c As Control, t As String
For Each c In Me.Controls
    If TypeOf c Is MSForms.CheckBox Then
        t = t & IIf(c.Value = True, "40;", "0;")
    End If
Next c
ListBox1.ColumnWidths = t
End Sub

bon après midi
@+
 

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 812
dernier inscrit
abdouami