Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème Affichage données dans listbox avec Multi Critère

4 réponses
Avatar
Alex
Bonjour =E0 tous,

Je viens =E0 vous car je renconte un probl=E8me d'affichage de donn=E9es
dans une listbox, suite =E0 filtrage sur 5 crit=E8res. Je voudrais voir
dans mon listbox les donn=E9es correspondants aux crit=E8res bien entendu
mais uniquement les 5 colonnes correspondant aux crit=E8res, et non
toutes les colonnes.

J'ai bien tent=E9 de travailler sur ColumnWidths en metant des 0 quand
je ne voulais pas voir la colonne s'afficher, et une valeur num=E9rique
lorsque je voulais voir les donn=E9es, mais il apparait un message
"Erreur d'execution 2147352571 - Impossible de d=E9finir la propri=E9t=E9
ColumnWidths. Le type ne correspond pas."

Merci par avance pour vos r=E9ponses et suggestions pour ne faire
appara=EEtre que mes Colonnes Immeuble, Genre, Type, Statut et Nom Loc
dans le listbox

J'ai mis mon fichier sur Cjoint.com http://cjoint.com/?1dznjR7MOoX

D'avance Merci
Alex

4 réponses

Avatar
MichD
Bonjour,

A ) utilise un filtre élaboré
IMPORTANT : POUR EFFECTUER ce qui suit, tu dois appeler la commande
Filtre élaboré lorsque la nouvelle feuille est celle qui est active, affiché à l'écran.

Évidemment, tout ce qui suit peut se faire par macro.

B ) Utilise une nouvelle feuille pour afficher le résultat
Dans cette nouvelle feuille, en première ligne par exemple,
tu copies (faire attention à la casse) les étiquettes de colonnes
de ton tableau qui t'intéresse dans l'ordre que tu désires. Il peut-être
différent de celui de ton tableau initial.

C ) Tu définis ta zone de critère pour le filtre élaboré et dans la fenêtre
du filtre élaboré, tu indiques que tu veux copier le résultat ailleurs et
dans la case appropriée, tu indiques la plage de cellule sur la ligne de
la feuille où tu as copié les étiquettes.

Et pour renseigner ta listbox :

With Worksheets("NomDeLaFeuilleContenantRésultatDuFiltre")
With .Range("A1:D" & .Range("A65536").end(xlup).row)
Userform1.Listbox1.List = .value 'Ton listbox peut aussi être dans une feuille !
End with
End With



MichD
--------------------------------------------
"Alex" a écrit dans le message de groupe de discussion :


Bonjour à tous,

Je viens à vous car je renconte un problème d'affichage de données
dans une listbox, suite à filtrage sur 5 critères. Je voudrais voir
dans mon listbox les données correspondants aux critères bien entendu
mais uniquement les 5 colonnes correspondant aux critères, et non
toutes les colonnes.

J'ai bien tenté de travailler sur ColumnWidths en metant des 0 quand
je ne voulais pas voir la colonne s'afficher, et une valeur numérique
lorsque je voulais voir les données, mais il apparait un message
"Erreur d'execution 2147352571 - Impossible de définir la propriété
ColumnWidths. Le type ne correspond pas."

Merci par avance pour vos réponses et suggestions pour ne faire
apparaître que mes Colonnes Immeuble, Genre, Type, Statut et Nom Loc
dans le listbox

J'ai mis mon fichier sur Cjoint.com http://cjoint.com/?1dznjR7MOoX

D'avance Merci
Alex
Avatar
DanielCo
Bonjour,
Le code suivant fonctionne :

With ActiveSheet.AutoFilter
txt = ""
For i = 1 To .Filters.Count
txt = txt & IIf(.Filters(i).On = True, "20 pt;", "0 pt;")
Next i
txt = Left(txt, Len(txt) - 1)
End With
Me.ListBox1.ColumnWidths = txt

Cordialement.
Daniel


Bonjour à tous,

Je viens à vous car je renconte un problème d'affichage de données
dans une listbox, suite à filtrage sur 5 critères. Je voudrais voir
dans mon listbox les données correspondants aux critères bien entendu
mais uniquement les 5 colonnes correspondant aux critères, et non
toutes les colonnes.

J'ai bien tenté de travailler sur ColumnWidths en metant des 0 quand
je ne voulais pas voir la colonne s'afficher, et une valeur numérique
lorsque je voulais voir les données, mais il apparait un message
"Erreur d'execution 2147352571 - Impossible de définir la propriété
ColumnWidths. Le type ne correspond pas."

Merci par avance pour vos réponses et suggestions pour ne faire
apparaître que mes Colonnes Immeuble, Genre, Type, Statut et Nom Loc
dans le listbox

J'ai mis mon fichier sur Cjoint.com http://cjoint.com/?1dznjR7MOoX

D'avance Merci
Alex
Avatar
news.free.fr
Bonjour,
Le code suivant fonctionne :

With ActiveSheet.AutoFilter
txt = ""
For i = 1 To .Filters.Count
txt = txt & IIf(.Filters(i).On = True, "20 pt;", "0 pt;")
Next i
txt = Left(txt, Len(txt) - 1)
End With
Me.ListBox1.ColumnWidths = txt

Cordialement.
Daniel


Bonjour à tous,

Je viens à vous car je renconte un problème d'affichage de données
dans une listbox, suite à filtrage sur 5 critères. Je voudrais voir
dans mon listbox les données correspondants aux critères bien entendu
mais uniquement les 5 colonnes correspondant aux critères, et non
toutes les colonnes.

J'ai bien tenté de travailler sur ColumnWidths en metant des 0 quand
je ne voulais pas voir la colonne s'afficher, et une valeur numérique
lorsque je voulais voir les données, mais il apparait un message
"Erreur d'execution 2147352571 - Impossible de définir la propriété
ColumnWidths. Le type ne correspond pas."

Merci par avance pour vos réponses et suggestions pour ne faire
apparaître que mes Colonnes Immeuble, Genre, Type, Statut et Nom Loc
dans le listbox

J'ai mis mon fichier sur Cjoint.com http://cjoint.com/?1dznjR7MOoX

D'avance Merci
Alex
Avatar
Alex
Bonjour MichD,

Merci pour ta réponse. .
Entre temps, j'avais tester autre chose, qui à l'air de fonctionner,
au lieu de mettre l'ensemble des 116 colonnes pour ma zone de critere
et ma zone d'estraction, je n'ai mis que les 5 colonnes qui
m'interessaient, et j'ai pu mettre columnswidths avec les valeurs qui
convenaient dans ma macro et j'ai mis à 5 ColumnsCount.

Je vais tester ta solution, car je préfererai comme meme avoir mon
extaction sur une feuile differente, et ainsi proteger ma feuille BDD.
Je remettrai un message si je n'arrive pas à mettre en place ta
solution.

Encore un grand Merci
Alex