Formulaire de consultation par filtres

Bonsoir,

Voilà je suis pas très douée et je viens de passer plus d'une semaine à chercher des bouts de code me permettant de réaliser un formulaire de consultation via plusieurs filtres. Le soucis est que je n'arrive à rien. Ma démarche est la suivante:

Dans userform initialise

1_ alimenter la listbox de toute la base de données (problème: listbox avec 14 colonnes du coup pas de additem)

2_ alimenter les combobox selon les différentes colonnes de la base de données (problème: je ne sais pas trier les infos et enlever les doublons ou vides)

Dans chaque combobox change

1_mettre à jour les autres combobox (je pense pouvoir me débrouiller en fouinant sur internet mais elles doivent être alimentées)

Checkbox

Je n'ai aucune idée pour les gerer

Bref pouvez vous s'il vous plaît jeter un oeil à mon fichier et m'aiguiller.

Merci d'avance

Bonjour

Voilà pour la première partie.

et comme tu écris :

mettre à jour les autres combobox (je pense pouvoir me débrouiller en fouinant sur internet

je te laisse te débrouiller pour ça.

Quand aux CheckBox, ils se gèrent avec des si (''if'').

S'ils sont cochés, ils ont la valeur ''True'' , sinon ils ont la valeur ''False''.

Donc on écrit, par exemple :

If CheckBox1 = True then
     MsgBox  "Le checkbox 1 est coché"
     Exit Sub
End If

OK ?

Bon courage !

Bye !

Bonjour

Tout d'abord merci à gmb de m'avoir accordé du temps pour répondre à mes doléances.

J'ai même compris la syntaxe pour remplir la listbox multicolonnes!!!!! (une petite victoire!)

Par contre je suis encore embétée avec les combobox, je sais les alimenter comme tu l' as fait. Mon soucis réside dans le tri alphabétique, les doublons et les espaces vides.

Quelqu'un peut il m'expliquer comment régler ça?

Merci

Bonjour

Bonjour gmb (Pratique ton Choose, si j'y pense à l'occasion je l’utiliserai)

Mon travail ( suis pas un rapide )

bonjour,

Merci banzai64 pour ta réponse, les premières étapes sont réglées mais je ne comprends rien. Peux tu rajouter des commentaires (genre pas à pas) s'il te plaît histoire que j'y vois plus clair....

Le sub dans le module c'est pour réaliser le tri?

Merci

J'oubliais pourquoi as tu rajouter une colonne cachée à la listbox?

Merci

Bonjour

Quelques remarques dans le code

nulle et desesperee a écrit :

Le sub dans le module c'est pour réaliser le tri?

Oui

nulle et desesperee a écrit :

pourquoi as tu rajouter une colonne cachée à la listbox?

Pour y stocker le numéro de la ligne de la page Excel (très utile dans de nombreux cas (modification-suppression))

bonsoir,

Bon c'est la mouise!

1- merci banzai pour les commentaires, j' ai compris le sub initlistbox!!!!!!

2- J'ai préféré changer le chargement des combobox à l'initialisation car je comprenais pas ton code (les satanées boucles!!)

3- j'ai du coup réussi à réaliser le tri avec les combo contenant des dates! youpi!!!!

4- j'arrive cependant pas à enlever les espaces vides. Ca me rend folle!

5-dans mon premier post j'ai eu l'audace d'écrire que j'arriverai à me débrouiller pour mettre les combobx en cascade. J'ai écrit trop vite!

Je fouine surtout sur le site de mr Boisgontier (c'est fou ce qu'il arrive à faire!) mais pour le coup je n'arrive pas à adapter quoi que ce soit.

Pourriez vous m'aider (encore) s'il vous plaît?

Comment avez vous acquis toutes vos connaissances en vba? Un livre à conseiller? j' arrive pas trop à me former avec les tutos, chacun à sa manière de faire les choses du coup moi je bug. Il n'exiterait pas une bible en vba???

Bonne soirée

Bonjour

nulle et desesperee a écrit :

Comment avez vous acquis toutes vos connaissances en vba?

Ce n'est peut-être pas la solution

Pratique,pratique,pratique

Étudier les codes

L'indispensable touche F1

A tester

Bonjour,

Essaie ainsi pour ton erreur.

Cdlt.

Set mondico = CreateObject("Scripting.Dictionary")
  a = f.Range("A2:S" & f.[A65000].End(xlUp).Row).Value
  For I = LBound(a, 1) To UBound(a, 1)
    If Not IsEmpty(a(I, 1)) Then mondico(a(I, 1)) = ""
  Next I
  mondico.Add "*", "*"
  temp = mondico.keys
  Call Tri(temp, LBound(temp), UBound(temp))
  Me.ComboBox1.List = temp
Rechercher des sujets similaires à "formulaire consultation filtres"