XL 2016 Afficher des colonnes dans une ListBox

ARNAUD ZIRIPE

XLDnaute Occasionnel
Bonsoir chers tous
Bonsoir le forum
je m'adresse à vous pour un petit souci.
En effet j'ai dans la feuil1 de mon classeur les colonnes A à w qui contiennent des infos
j'ai aussi une Listbox et je souhaiterais avoir dans la listbox uniquement les colonnes A, D et M et cela en passant par la fenêtre propiété de la listbox .
Merci pour votre aide.
 

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Bonsoir chers tous
Bonsoir le forum
je m'adresse à vous pour un petit souci.
En effet j'ai dans la feuil1 de mon classeur les colonnes A à w qui contiennent des infos
j'ai aussi une Listbox et je souhaiterais avoir dans la listbox uniquement les colonnes A, D et M et cela en passant par la fenêtre propiété de la listbox .
Merci pour votre aide.
combobox activeX
upload_2017-10-21_0-2-37.png

BoundColumn est la colonne dont la valeur clé sera renvoyé dans LinkedCell

:rolleyes: sans aucune ligne de code ;)
 
Dernière édition:

job75

XLDnaute Barbatruc
Bonsoir ARNAUD ZIRIPE, Modeste geedee,

Nombreux exemples sur le forum, un de plus avec la propriété List :
Code:
Sub USF()
Dim t, liste(), i&
t = [Tableau1].Resize(, 13)
ReDim liste(1 To UBound(t), 1 To 3)
For i = 1 To UBound(t)
  liste(i, 1) = t(i, 1)
  liste(i, 2) = t(i, 4)
  liste(i, 3) = t(i, 13)
Next
With UserForm1
  .ListBox1.List = liste
  .Show
End With
End Sub
Cette propriété n'est pas dans la fenêtre des propriétés mais c'est la meilleure méthode.

Fichier joint.

Edit : on peut utiliser la même méthode de remplissage si la ListBox est dans la feuille de calcul.

Bonne nuit.
 

Pièces jointes

  • ListBox(1).xlsm
    29 KB · Affichages: 78
Dernière édition:

job75

XLDnaute Barbatruc
Bonjour à tous, salut Nicole,

Si l'on veut des en-têtes on peut utiliser les propriétés RowSource ou ListFillRange.

Le rendu n'est pas terrible, c'est mieux avec des Labels comme le montre Nicole.

Fichiers joints, il y a très peu de codes VBA.

A+
 

Pièces jointes

  • ListBox avec en-têtes(1).xlsm
    29.8 KB · Affichages: 57
  • ListBox avec en-têtes(2).xlsm
    32.5 KB · Affichages: 50

job75

XLDnaute Barbatruc
Bonjour Nicole, le forum,

Oui il vaut mieux ne pas modifier la RowSource.

Mais s'il faut le faire il suffit de retirer le focus de la ListBox :
Code:
Private Sub ListBox1_Click()
   If ActiveControl.Name <> "ListBox1" Then Exit Sub
   CommandButton1.SetFocus 'ôte le focus de la ListBox
   MsgBox "coucou"
End Sub
Fichier joint.

Bonne journée.
 

Pièces jointes

  • ListBoxAvecTitreColonnes(1).xls
    85.5 KB · Affichages: 50
  • ListBoxAvecTitreColonnes(1 bis).xls
    85 KB · Affichages: 54

Si...

XLDnaute Barbatruc
Bon_jour

On peut toujours fournir un exemple pour se retrouver embêté comme avec RowSource et ShowModal à False.

Voici un autre exemple sans RowSource , avec ShowModal à False , dans lequel la liste du formulaire ne se met pas à jour (avec le code donné).

J'en étais resté là (avec un Tableau).

Pour pallier aux inconvénients, dans tous les cas, il faudra des étapes supplémentaires*.

*comme le fait Job dans son dernier classeur;).
 

Pièces jointes

  • ListBoxMultiColonnesDisc3.xls
    57 KB · Affichages: 130
  • Colonnes ListBox (ActiveX Usf).xlsm
    29.1 KB · Affichages: 53

Discussions similaires

Réponses
25
Affichages
644
Réponses
21
Affichages
1 K

Membres actuellement en ligne

Statistiques des forums

Discussions
312 105
Messages
2 085 350
Membres
102 870
dernier inscrit
Armisa