Userform et filtré des données.

lanoe

XLDnaute Occasionnel
Bonjour,

Après des recherches sur le forum, j’ai trouvé un userform qui correspond à mes besoins. J’ai commencé à l’adapter, mais il me faut un coup de main pour terminer.

1-Mon objectif est d’utiliser le userform pour remplacer le filtre actuellement sur la feuille et qui me pose des problèmes (et donc si possible de faire disparaître le filtre sur la feuille). Actuellement seul le premier combobox « clients » fonctionne.

2-Dans la base de donnée, j’ai deux colonnes date, mais au format mm/yy j’espère pouvoir retrouver le même format dans le listbox

3-Il y a une ligne de textbox en dessous du listbox. Je souhaiterais que les modifications réalisées puissent se répercuter dans mon tableau et donc sur la feuille. Je n’ai pas besoin de créer de nouvelles lignes simplement les corriger.

Enfin, je désirs un bouton qui me permettrait de copier l’ensemble des lignes du listbox en feuille BL2 à partir de la colonne AA ligne 2.

Merci à ceux qui me consacreront un peu de temps.

lanoe
 

Pièces jointes

  • 2122008b.zip
    47.7 KB · Affichages: 255
  • 2122008b.zip
    47.7 KB · Affichages: 259
  • 2122008b.zip
    47.7 KB · Affichages: 270

jp14

XLDnaute Barbatruc
Re : Userform et filtré des données.

Bonsoir lanoe, le forum

Ci joint le fichier avec une autre approche qui évite les problèmes de la listbox.
J'ai remplacé la listbox par une listview ce qui permet d'afficher plus de colonnes, de récupérer le numéro de ligne dans la clef(Key) pour la mise à jour, de trier les colonnes non dates.

Toutes les procédures ne sont pas encore écrite, si l'idée te convient je poursuivrais le développement demain dans la journée.

JP
 

Pièces jointes

  • 2122008b.zip
    43.4 KB · Affichages: 365
  • 2122008b.zip
    43.4 KB · Affichages: 383
  • 2122008b.zip
    43.4 KB · Affichages: 382

lanoe

XLDnaute Occasionnel
Re : Userform et filtré des données.

Re-

La procédure me convient parfaitement. Merci pour ton aide.

En poursuivant mes recherches après avoir posté, j'ai vu un problème sur ma question 3 ( cf :Il y a une ligne de textbox en dessous du listbox. Je souhaiterais que les modifications réalisées puissent se répercuter dans mon listbox et donc sur la feuille. )

J’ai essayé d’adapter un de tes codes, que tu m’as donné sur un autre userform. Je n’y parviens pas, mais j’ai des doublons en colonne B qui doivent me poser des problèmes. Je pense donc insérer une colonne en plus en B pour faire apparaître un N° de ligne.

Cordialement

lanoe
 

jp14

XLDnaute Barbatruc
Re : Userform et filtré des données.

Bonjour

Ci joint le fichier avec des procédures pour une "listview".

Principe
A l'ouverture on rempli une "listview", j'ai rajouté une colonne cachée (0) dans la "listview".
J'utilise la "listview" pour remplir les "combobox" sans doublons.

Possibilité de trier en cliquant sur les colonnes.
Si la colonne contient des dates la procédure transforme les dates en valeur numériques, le résultat est stocké dans la colonne cachée, le tri se faisant alors sur cette colonne.

Quand on change la valeur dans un" combobox" les éléments non sélectionnés sont supprimés de la "listview" et les "combobox" sont mis à jour.

Le numéro de la ligne étant caché dans la "key" de la "listview", il est facile de mettre à jour les données.
Concernant la copie dans la feuille Bl2 la procédure fonctionne.
On peut éventuellement ne copier que les lignes qui seraient sélectionnées.
Pour avoir une sélection multiple il faut utiliser la touche "CTRL".

A tester et à compléter.

JP
 

Pièces jointes

  • 2122008bv3.zip
    40.6 KB · Affichages: 323
Dernière édition:

jp14

XLDnaute Barbatruc
Re : Userform et filtré des données.

Bonsoir

Quand on a ce problème il faut lancer la macro et passer en mode debug, utiliser la touche f8 et au fur et à mesure déplacer le point d'arrêt f9.
Code à modifier :
Call Affiche(1, "enregistrement", "b", Array("c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "l"))
Remplacer "a" par "l".
Comme le poids du fichier était trop important j'ai effacé la colonne A ce qui a généré cette erreur.

JP
 
Dernière édition:

lanoe

XLDnaute Occasionnel
Re : Userform et filtré des données.

Bonjour,

En cherchant, j'arrive pour l'instant à poursuivre le développement du code de JP14, grand merci à lui.

Une question: Quand j'ai un grand nombre de ligne le useform est long à s'afficher, ainsi que l'utilisation certaines fonctions (trier notamment). Est-ce qu'il y a des solutions simples pour palier à se probleme? Faut-il réduire le nombre de colonne? Ou pas beaucoup de solution sauf à reduire les lignes?

merci d'avance

lanoe
 

jp14

XLDnaute Barbatruc
Re : Userform et filtré des données.

Bonjour

Effectivement le temps de traitement doit être long quand on rempli la listview, et tous les combobox. Pour diminuer les temps de traitement il faudrait connaitre la méthodologie au niveau de la sélection des données, on commence par choisir la date, le nom, ..., ce qui permettrait de faire apparaitre et de remplir les contrôles au fur et à mesure.

Ci joint un exemple de sélection.

JP
 

Pièces jointes

  • Sélection des données avec listview.zip
    29.7 KB · Affichages: 353

lanoe

XLDnaute Occasionnel
Re : Userform et filtré des données.

Re,

Mon problème est justement que je n’ai pas de méthodologie, enfin...si mais je souhaite pouvoir effectuer les recherches dans le tableau avec les onze possibilités.

En cherchant des solutions, je pensais repartir de ta proposition 1ere mais d’alimenter les combobox par le tableau source et que le combo alimenterais la ou les listviews. selon le principe du fichier ci-joints en terme de présentation (car le plus dure reste à faire). Cette piste te semble-t-elle possible ? Conséquence sur la rapidité????

lanoe
 

Pièces jointes

  • Quest412.zip
    20.1 KB · Affichages: 200

jp14

XLDnaute Barbatruc
Re : Userform et filtré des données.

Bonjour (re)

Une autre piste ouverture d'un Usf avec choix des éléments pour effectuer la sélection

L'Usf comporterait des cases à cocher pour rendre visible des combobox.
Sélection des données à travers les combobox et affichage des données dans la listview.

JP
 
Dernière édition:

lanoe

XLDnaute Occasionnel
Re : Userform et filtré des données.

Bonjour,

J’ai suivi tes conseils… en créant des chexbox qui font apparaître le combobox demandé. Comment faire maintenant pour que le combobox selectionné aliment le listview uniquement avec les cellules utiles ? J’ai trouvé sur le forum un système avec filtre et important uniquement les cellules visibles, mais, je souhaiterais supprimer les filtres sur ma feuille. Est-il possible de faire sans ?

lanoe
 

Pièces jointes

  • 5122008.zip
    41.2 KB · Affichages: 307

lanoe

XLDnaute Occasionnel
Re : Userform et filtré des données.

Re-

Tout doucement je progresse...Les combobox sont complété par la base...mais je n'arrive toujour pas à répercuter les résultats dans la listview...

Si une bonne volonté peu me donner une piste...

la noe
 

jp14

XLDnaute Barbatruc
Re : Userform et filtré des données.

Bonsoir

Ci dessus les usf et le module avec une solution différente.
Affichage d'un combobox pour sélectionner l'information à choisir ( il faut modifier le nom des colonnes), affichage ensuite des éléments de la colonne pour sélectionner une valeur, affichage de la listview.


IL faut utiliser l'option importer du menu fichier de l'éditeur VBA.
JP
 

Pièces jointes

  • Module1.zip
    11.2 KB · Affichages: 399
  • Module1.zip
    11.2 KB · Affichages: 428
  • Module1.zip
    11.2 KB · Affichages: 429

lanoe

XLDnaute Occasionnel
Re : Userform et filtré des données.

Re...

Et tout d'abord un grand merci pour le temps passé et le travail réalisé.

A premiere vu cela fonctionne, je vais éssayer de comprendre ton code

Une question pour ma formation perso: la solution que je proposais avec les chekbox et combobox est-elle envisageable? Je trouve la solution que tu propose plus longue à l'utilisation, ou exite-il des difficultés techniques?

Encore merci,

lanoe
 

Discussions similaires

Statistiques des forums

Discussions
314 422
Messages
2 109 447
Membres
110 482
dernier inscrit
ilyxxxh