Faire une recherche multicritere avec userform

link93

XLDnaute Occasionnel
Bonjour ,

Je souhaiterai faire une recherche dans une base de donnée via un userform.

J'ai vue quelque post sur le forum mais je n'arrive pas à l'appliquer à mon cas.

J'aimerai pour faire un choix multicritère sur cet userform en fonction des colonne de ma base de donnée.

Je joins un exemple de mon fichier qui j'espère vous aidera à y voir plus clair.

Merci d'avance pour votre aide
 

Pièces jointes

  • BDD test.xls
    15.5 KB · Affichages: 245
Dernière édition:

Odesta

XLDnaute Impliqué
Re : Faire une recherche multicritere avec userform

Bonjour

Ce que je te conseil : Ouvre un nouveau Module et écris en commentaire, tout ce qeu tu dois faire.

C'est presque indispensable, en particulier pour se faire aider.

Il est normal que l'on en connaisse pas toutes les commandes lorsque l'on programme, et écrire simplement ce que l'on veut permet de mettre à plat le probleme et pour se faire aider c'est largement plus simple.

Quand je programme, même si je connais le code de chaque commande, je commence très souvent par écrire en francais ce que je veux faire. Ce qui donne par exemple :

'Pour ouvrir le fichier cible :
' récupèrer le nom du fichier (depuis la cellule dernière cellule colonne A feuille Source du fichier source
' vérifier que le fichier existe (utiliser un FileSystemObject)
' si oui, continuer, si non message et fin du prg
' ouvrir le classeur concerné
' insérer dans un tableau le contenu des lignes de 1 à la derniere
' copier ce tableau à la suite de la feuille Donnée du fichier source
' fermer le classeur, enregistrer le fichier source


Et une fois que j'ai ce niveau la, je sais ce que j'ai à coder ligne par ligne. Si par exemple, je ne connais pas la commande pour vérifier que le fichier , cela ne m'empêche pas de continuer (je mets la variable à oui) et de demander le commande.

Il m'arrive ausis de me rendre compte que ce ue j'avais écris n'est pas assez détaillé, aussi, je redécompose :
' copier ce tableau à la suite de la feuille Donnée du fichier source :

'chercher la dernière ligne du fichier source => deb_zone
'ajouter à ma variable deb_zone le taille du tableau => fin_zone
'copier sur la zone de deb_zone à fin_zone le contenu du tableau (la commande sera le '=')



Tout le forum se fera un plaisir de t'aider, mais pas à partir de rien, ni à partir d'un morceau de codé développé pour un but différent par qq'un d'autre.

Merci de faciliter le travail de ceux qui aident

Sur ce, la problématique n'est pas innaccessible, et l'on devrait y arriver !
olivier
 

link93

XLDnaute Occasionnel
Re : Faire une recherche multicritere avec userform

Hello odesta,

Merci pour le temps accordé et dsl si j'ai pas suivi tes recommandations tout de suite je pensais m'en sortir et bricolant un pue à droite à gauche.

J'ai repris le fichier est mis en commentaire l'objectif de chaque bouton ou zone de textes.

Si tu as toujours envie et la gentillesse de me donné un tit coup de pousse ça serai sympa ^^.

Merci
 

Pièces jointes

  • Userform validation incrémentation BDD.zip
    20.8 KB · Affichages: 48
  • Userform validation incrémentation BDD.zip
    20.8 KB · Affichages: 46
  • Userform validation incrémentation BDD.zip
    20.8 KB · Affichages: 51

link93

XLDnaute Occasionnel
Re : Faire une recherche multicritere avec userform

Re dsl j'avais pas vue.

J'ai eu un bug mon fichier ne c'est pas enregistré je te mets la bonne version

sorry

a bientôt
 

Pièces jointes

  • Userform validation incrémentation BDD.zip
    22.9 KB · Affichages: 82
  • Userform validation incrémentation BDD.zip
    22.9 KB · Affichages: 58
  • Userform validation incrémentation BDD.zip
    22.9 KB · Affichages: 58

Odesta

XLDnaute Impliqué
Re : Faire une recherche multicritere avec userform

Re.
Ok, on va y aller par étapes.
Alors :

'Objectif : Permetre une slection des donnée dans la base de donné via le nom
Donc, la première chose que tu dois trouver c'est :
Comment remplir la liste Nom (que tu as nommé Critere1) ?

Un début de piste :
Code:
    For i = 1 To nb_critere
    UserForm2.Critere1.AddItem nom_numero(i)
    Next
Cette instruction : AddItem doit être utilisée pour chaque nom de la liste
nom_numero(i) peut être un tableau, ou un pointage vers la bonne cellule, ect.

Lorsque cela marchera, il faudra faire de même pour la liste des prénoms, avec une nuance : nous en voudrons que les prénoms dont le nom est égale à celui choisi précédemment (mais se sera la prochaine étape)

Olivier
 

link93

XLDnaute Occasionnel
Re : Faire une recherche multicritere avec userform

Re odesta,

J'ai avancé un peu sur le fichier grâce à un bout de code trouvé ( Papou-net merci à lui ^^) sur le forum ( j'étais partis sur tes explications au début mais j'ai très vite été perdu lol ).

DOnc le filtrage par nom marche mais pas encore réussie à le combiné avec le deuxième critère (l'age).

SI tu pouvais m'aide sur ce point la ?

Merci
 

Pièces jointes

  • Userform validation incrémentation BDD.zip
    21.1 KB · Affichages: 90
  • Userform validation incrémentation BDD.zip
    21.1 KB · Affichages: 94
  • Userform validation incrémentation BDD.zip
    21.1 KB · Affichages: 100

Odesta

XLDnaute Impliqué
Re : Faire une recherche multicritere avec userform

Bonjour

Ben, le problème, c'est que cela rajoute l'age de chacun des "noms" différents, alors que ce n'est pas du tout ce que tu souhaites.
Le Critere2.AddItem ne sera valable que lorsque l'utilisateur aura choisi le nom dans la liste donc, lorsque tu appellera : Critere1_Change()
Il faut donc remettre une boucle dans ce code, qui va remplir les ages dans le cas où Value(i,1) sera égale à Critere1.Value

Olivier
 

Discussions similaires

Réponses
1
Affichages
157

Statistiques des forums

Discussions
312 858
Messages
2 092 876
Membres
105 547
dernier inscrit
Phil Moi