Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Affichage plusieurs colonne dans Listbox avec tri Combobox

Jacquie

XLDnaute Nouveau
Bonjour à tous,

je fais appel aux aguerris du VBA dans l'espoir de trouver une solution à mon problème.
Dans mon fichier joint que j'ai eu grâce à ce forum, j'ai actuellement un Userform qui me sert à filtrer un tableau qui se trouve dans ma feuille nommée "Données" et à récupérer dans ma "Feuil1" la sélection choisi.
Jusqu'ici tout fonctionne parfaitement.

Je voudrais pouvoir afficher dans ma ListBox1 les colonnes "dimensions, poids.." que j'ai nommé au dessus de celle-ci et trier la colonne choisi avec ma ComboBox1 du plus grand au plus petit.
A savoir que le contenu de ma liste de donnée peux être modifié et complété mais le nombre de colonne restera le même.

Quelqu'un a t-il une idée ?

Merci par avance pour votre aide.
 

Pièces jointes

  • Essai liste avec tri.xlsm
    41 KB · Affichages: 24
Dernière édition:

herve62

XLDnaute Barbatruc
Supporter XLD
Bonsoir Jacquie
Il est tard , le vba m'a fatigué cet AM mais j'arrive encore à voir cela :
VB:
If choix = choix Then
        Me.ListBox1.List() = Mondico1.keys
    Else:
        Me.ListBox1.List() = Mondico2.keys
    End If
Y a pas un HIC ?? pour moi un chat est un chat !!!!! donc pas besoin de IF non ???
bonne nuit ....à méditer
 

Jacquie

XLDnaute Nouveau
Bonjour herve62,

merci pour votre retour.
C'est possible qu'il n'y est pas besoin de If mais vous m'avez déjà perdu
Le VBA m’intéresse énormément mais depuis le temps que je m'y intéresse, rentre péniblement.
J'arrive à "bricoler" un peu mais dès que ça devient un peu compliqué...

Pensez vous que ma demande est faisable?

Bonne journée!
 

Eric C

XLDnaute Barbatruc
Bonjour le forum
Bonjour Jacquie, bonjour Herve62

Ceci pour débuter (je ne me plongerai pas dans tes codes, trop pointus pour moi). J'ai initialisé ton USF pour que tes différentes colonnes soient représentées.
VB:
Private Sub UserForm_Initialize()
Dim i As Byte
Dim WS As Worksheet

Set WS = ThisWorkbook.Worksheets("Données")

For i = 0 To 60
With Me.ListBox1
.ColumnCount = 8
.ColumnWidths = "65;50;45;50;60;50"
.AddItem WS.Range("C" & i + 2)
.Column(1, i) = WS.Range("D" & i + 2)
.Column(2, i) = WS.Range("E" & i + 2)
.Column(3, i) = WS.Range("F" & i + 2)
.Column(4, i) = WS.Range("G" & i + 2)
.Column(5, i) = WS.Range("H" & i + 2)
End With
Next i
End Sub
Bonne continuation et bonne après-midi à toutes & à tous

@+ Eric c
 

Jacquie

XLDnaute Nouveau
Bonjour ChTi160,

Il y a en effet 8 colonnes, les 2 premières servent de filtre pour afficher dans ma Listbox1 les 6 dernières colonnes de mon tableau de donnée.
Je cherche ensuite via une Combobox à trier la colonne choisie.
Je ne sais pas si c'est faisable, mais s'il y a un moyen différent pour y arriver pourquoi pas !
Merci
 

patricktoulon

XLDnaute Barbatruc
re
Bonjour
et jamais on pense a travailler avec un tableau structuré a fin de ne plus se torturer avec une recherche de colonne hein !!?????
demain tu rajoute des lignes (voir une/des colonnes) tu fait quioi ? tu rechange tout tes names ??!!
 
Dernière édition:

Discussions similaires

Réponses
10
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…