ComboBox et filtre probème !!!

Esak

XLDnaute Nouveau
Bonjour à toutes et à tous,

C'est grâce à un collègue de travail que j'ai découvert ce site fabuleux, qui regorge des truc et astuces. Je tiens à féliciter les administrateurs et tous les membres qui ont contribuer a étoffer ce site. Mais voila, j'ai besoin de votre aide:

Dans le cadre de mon travail, je dois réaliser une interface dans un tableau excel pour rechercher des informations dans une bases de données. J'ai réaliser une macro permettant de masquer ou non des colonnes (dans mon cas, ce sont des options, accessoires) et j'ai mis également en place des filtres par colonnes.

Mais voila, c'est pas assez simple et intuitif à utiliser.

Le but étant comme une voiture, il y a les standards (moteur, roue, porte, phares,...)
et puis ensuite tous les options.

C'est pourquoi je demande votre aide, pour réaliser une interface avec des boutons à cliquer qui filtrent les informations au grès des données entrés dans les listes déroulantes, et qu'au bout de ma sélection de tous les paramètres, j'ai un lien hypertexte qui me permet d'ouvrir un dossier contenant mes informations recherchées.


Je vous remercie par avance pour toute l'aide que vous pouvez/allez m'apporter.

Je me tiens à votre disposition pour toutes autres informations.

Pour information, je ne peux pas exécuter cette tâche sur Access, car nous n'avons pas la licence.
 
Dernière édition:

Esak

XLDnaute Nouveau
Dernière édition:

Esak

XLDnaute Nouveau
UserForm et filtrage ?

Bonjour, ayant avancé quelque peu, j'ai un problème pour le filtrage des données.

J'ai modifié une UserForm que j'ai trouvé sur ce forum.

Le filtre doit mal fonctionné car quand je sélectionne une donnée dans mon interface, mais il me supprime tout ma liste. Donc je vous demande si il serait possible de jeter un oeil sur le code VBA. Merci :) . Je joint le fichier excel.

Voici le code VBA de UserForm :

Code:
Private Sub CommandButton1_Click()


ActiveSheet.Range("$A$4:$AZ200").AutoFilter field:=4, Criteria1:=ComboBox1  'pays
ActiveSheet.Range("$A$3:$AZ$200").AutoFilter field:=5, Criteria1:=ComboBox2 'type de chargement
ActiveSheet.Range("$A$3:$AZ$200").AutoFilter field:=6, Criteria1:=ComboBox3 'modele de bras
ActiveSheet.Range("$A$3:$AZ$200").AutoFilter field:=7, Criteria1:=ComboBox4 'debattement
ActiveSheet.Range("$A$3:$AZ$200").AutoFilter field:=8, Criteria1:=ComboBox5 'diametre du bras
ActiveSheet.Range("$A$3:$AZ$200").AutoFilter field:=9, Criteria1:=ComboBox6 'matière du bras
ActiveSheet.Range("$A$3:$AZ$200").AutoFilter field:=10, Criteria1:=ComboBox7 'matiere du tube plongueur
ActiveSheet.Range("$A$3:$AZ$200").AutoFilter field:=11, Criteria1:=ComboBox8 'longueur du tube plongueur
ActiveSheet.Range("$A$3:$AZ$200").AutoFilter field:=12, Criteria1:=ComboBox9 'longueur du tube exterieur
ActiveSheet.Range("$A$3:$AZ$200").AutoFilter field:=13, Criteria1:=ComboBox10 'longueur du tube interieur
ActiveSheet.Range("$A$3:$AZ$200").AutoFilter field:=16, Criteria1:=ComboBox11 'nombre raccords tournants
ActiveSheet.Range("$A$3:$AZ$200").AutoFilter field:=17, Criteria1:=ComboBox12 'modele de raccord
ActiveSheet.Range("$A$3:$AZ$200").AutoFilter field:=18, Criteria1:=ComboBox13 'type JT principal
ActiveSheet.Range("$A$3:$AZ$200").AutoFilter field:=19, Criteria1:=ComboBox14 'nombre raccords tournants 2ème type
ActiveSheet.Range("$A$3:$AZ$200").AutoFilter field:=20, Criteria1:=ComboBox15 'modele de raccord 2ème type
ActiveSheet.Range("$A$3:$AZ$200").AutoFilter field:=21, Criteria1:=ComboBox16 'type JT principal 2ème type
ActiveSheet.Range("$A$3:$AZ$200").AutoFilter field:=22, Criteria1:=ComboBox17 'type raccordement reseau
ActiveSheet.Range("$A$3:$AZ$200").AutoFilter field:=23, Criteria1:=ComboBox18 'type raccordement reseau

Unload Me

End Sub



Private Sub UserForm_Initialize()

ActiveSheet.Range("$A$3:$AZ$200").AutoFilter

Set dico = CreateObject("Scripting.dictionary")
Set dico1 = CreateObject("Scripting.dictionary")
Set dico2 = CreateObject("Scripting.dictionary")
Set dico3 = CreateObject("Scripting.dictionary")
Set dico4 = CreateObject("Scripting.dictionary")
Set dico5 = CreateObject("Scripting.dictionary")
Set dico6 = CreateObject("Scripting.dictionary")
Set dico7 = CreateObject("Scripting.dictionary")
Set dico8 = CreateObject("Scripting.dictionary")
Set dico9 = CreateObject("Scripting.dictionary")
Set dico10 = CreateObject("Scripting.dictionary")
Set dico11 = CreateObject("Scripting.dictionary")
Set dico12 = CreateObject("Scripting.dictionary")
Set dico13 = CreateObject("Scripting.dictionary")
Set dico14 = CreateObject("Scripting.dictionary")
Set dico15 = CreateObject("Scripting.dictionary")
Set dico16 = CreateObject("Scripting.dictionary")
Set dico17 = CreateObject("Scripting.dictionary")


For n = 4 To Range("D65536").End(xlUp).Row
 

d = Range("D" & n)
e = Range("E" & n)
f = Range("F" & n)
g = Range("G" & n)
h = Range("H" & n)
i = Range("I" & n)
j = Range("J" & n)
k = Range("K" & n)
l = Range("L" & n)
m = Range("M" & n)
p = Range("p" & n)
q = Range("q" & n)
r = Range("r" & n)
s = Range("s" & n)
t = Range("t" & n)
u = Range("u" & n)
v = Range("v" & n)
w = Range("w" & n)



dico(d) = 1
dico1(e) = 1
dico2(f) = 1
dico3(g) = 1
dico4(h) = 1
dico5(i) = 1
dico6(j) = 1
dico7(k) = 1
dico8(l) = 1
dico9(m) = 1
dico10(p) = 1
dico11(q) = 1
dico12(r) = 1
dico13(s) = 1
dico14(t) = 1
dico15(u) = 1
dico16(v) = 1
dico17(w) = 1


Next

ComboBox1.List = dico.keys
ComboBox2.List = dico1.keys
ComboBox3.List = dico2.keys
ComboBox4.List = dico3.keys
ComboBox5.List = dico4.keys
ComboBox6.List = dico5.keys
ComboBox7.List = dico6.keys
ComboBox8.List = dico7.keys
ComboBox9.List = dico8.keys
ComboBox10.List = dico9.keys
ComboBox11.List = dico10.keys
ComboBox12.List = dico11.keys
ComboBox13.List = dico12.keys
ComboBox14.List = dico13.keys
ComboBox15.List = dico14.keys
ComboBox16.List = dico15.keys
ComboBox17.List = dico16.keys
ComboBox18.List = dico17.keys
End Sub
 

Pièces jointes

  • test formulaire devis.xlsm
    41.5 KB · Affichages: 77
Dernière édition:

Esak

XLDnaute Nouveau
UserForm et filtrage ?

Bonjour, personne n'a d'idées à proposer ?

Les informations du forum arrive à une grande vitesse et je vois mon topic tiré vers le bas minute après minute.

Je ne veux pas flooder, mais si quelqu'un d'aimable pourrait seulement m'aiguiller sur la marche à suivre

Merci d'avance.
 

Discussions similaires

Réponses
12
Affichages
446

Statistiques des forums

Discussions
312 789
Messages
2 092 119
Membres
105 218
dernier inscrit
erunsemur