Problèmes : 4 filtres en cascade ComboBox pour affichage dans une ListBox

Birgz

XLDnaute Nouveau
Bonjour,

Je ne suis pas un pro de VBA et je rencontre quelques difficultés.

Je m'explique :

- J'ai crée un formulaire (UserForm2) permettant de rentrer des "problèmes" dans une base de donnée.

- Maintenant j'aimerais à partir d'un autre formulaire (UserForm3), pouvoir filtrer mes données d'entrées qui se situe dans 4 ComboBox (1,2,3,4).
Le filtre en cascade ou le filtre sans priorité n'a pas grande importance dans mon cas, tant que les ComboBox se mettent bien à jour en fonction des autres.

- J'aimerais retrouver la/les ligne(s) de ma base de donnée qui correspondent aux valeur dans mes ComboBox, dans une ListBox (1) sur le formulaire.

- Cela me permettra donc de sélectionner une ligne dans la liste pour afficher toutes les autres informations relative à ce problèmes dans des TextBox (2,3,4,5,6,7,8,9,10).

- Comme cela je pourrais modifier et ajouter des informations en complément à ma base de donnée.

Je sait qu'il est possible de ne réaliser qu'un seul formulaire pour l'ajout et la modification de donnée, mais vu mon niveau peu élevé j'ai préférer ne pas tout mélanger.

J'espère avoir était clair dans ma demande. J'ai fouillé un peu partout sur internet et sur des forums pour trouver une solution. J'en ai trouver plusieurs intéressante qui ressemble à ce que je souhaite faire, mais je n'arrive pas à les adapter pour mon utilisation. JE rencontre des erreurs à chaque fois que je n'arrive pas à résoudre.

Je vous met en copie mon excel avec mon UserForm1 pour l'ajout de données qui fonctionne, la base de donnée et le USerForm2 sans "les codes déchets".

En espérant que quelqu'un puisse m'aider ou m'aiguiller pour réaliser mon formulaire.

Je vous remercie par avance.

Tintin88

Edit : avec le Excel c'est mieux
 

Pièces jointes

  • Tableau de pilotage transfo - UserForm 2 vierge.xlsm
    45.8 KB · Affichages: 11

Birgz

XLDnaute Nouveau
Bonjour Boisgontier,

Merci beaucoup c'est exactement ce qu'il me fallait.
Je vais me plonger dans votre code afin de le comprendre.

J'avais dans l'idée d'ajouter une barre de recherche afin d'afficher dans la listbox1 les lignes comportant les lettres inscrites dans la barre de recherche.
Cela viendrait en complément des ComboBox pour utilise soit l'une ou l'autre méthode de tri.

Savez-vous si il est possible de faire cela?
J'ai vu des travaux similaire sur internet mais jamais dans un UserForm. A chaque fois les donnée son filtrer directement dans un tableau excel.

Encore merci et bonne soirée,

Birgz
 

BOISGONTIER

XLDnaute Barbatruc
1-Les lignes à adapter :

Set f = Sheets("bd")
Set Rng = f.Range("A2:N" & f.[A65000].End(xlUp).Row) ' à adapter

ColCombo = Array(1, 2, 3) ' A adapter (1 à 6 colonnes maxi)
colVisu = Array(1, 2, 4, 5, 6, 7, 8, 9, 10, 13, 14) ' Colonnnes ListBox (à adapter)


2-Pour une barre de recherche sur le ListBox, c'est un autre formulaire.
La recherche est multi-colonnes et multi-mots.

'--- à adapter
Set f = Sheets("bd") ' Pour Excel<Excel 2007
Set Rng = f.Range("A2:N" & f.[A65000].End(xlUp).Row) ' à adapter
colInterro = Array(1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14) ' colonnes à interroger (adapter)
colVisu = Array(1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14) ' colonnes à visualiser dans listbox (adapter)

3-Pour la saisie,

on peut remplacer des textbox par des combobox mais leur nom ne doit pas changer leurs noms (TextBox1,TextBox2,.....)



Boisgontier
 

Pièces jointes

  • Copie de FormRechercheModifAjoutSup3-2.xls
    211 KB · Affichages: 21
Dernière édition:

Birgz

XLDnaute Nouveau
Bonjour Boisgontier,

Merci pour vos précisions, j'ai réussi à adapter votre programme avec les Combobox filtrant en cascade et la modification des la liste.

Donc si je comprend bien il n'est pas possible d'intégrer à la fois une recherche par filtre ComboBox et une recherche par filtre" barre de recherche" sur un même formulaire, dans le même UserForm?

D'accord merci, je vais surement en changer quelques'une pour pouvoir ajouter des éléments plus facilement.

Je vous remercie encore.

Bonne journée,

Birgz
 

BOISGONTIER

XLDnaute Barbatruc
Bonjour,

Essai avec ComboBox(1 à 6) puis Textbox intuitif sur la ListBox.

C'est un pgm générique. Les parties à adapter:

ColCombo = Array(1, 2, 3) ' A adapter (1 à 6 colonnes maxi)
colVisu = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14) ' Colonnes ListBox (à adapter)
colInterro = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14) ' colonnes à interroger (adapter)


Boisgontier
 

Pièces jointes

  • FormRechercheComboTextBox.xls
    277 KB · Affichages: 64
Dernière édition:

Birgz

XLDnaute Nouveau
Bonjour Boisgontier,

Je veux vous dire un grand merci.
Vos pgm génériques m'ont permis de réaliser exactement ce que je voulais.
Vos connaissances sont épatantes.

Encore merci de m'avoir aider.

Je vous souhaite une bonne journée.

Birgz
 

Discussions similaires

Statistiques des forums

Discussions
292 797
Messages
1 926 346
Membres
183 034
dernier inscrit
liverstone