Créer un formulaire de recherche multicritère

jess55

XLDnaute Nouveau
Bonjour,
Je dois réaliser une base de donnée sous excel afin de gérer un stock d'outil. Il faut aussi que l'utilisateur puisse chercher l'outil dont il a besoin.
Je ne peux pas mettre mon fichier en pièce jointe pour des raisons de confidentialité.
Voilà mon problème:
J'ai une feuille nommé Outil, dans cette feuille ce trouve:
-N°Outil
-Famille ComboBox
-Type ComboBox
-MatériauOutil ComboBox
-Revêtement OptionButton
-Longueur TextBox
-Longueur de coupe TextBox
-Nombrededents TextBox
-MatériauUsiné Combobox
J'ai aussi un Formulaire nommé RechercheOutil avec tous ces renseignements dans différents outils désignés à côté et une listBox qui me renvoie les données.
Le problème que je rencontre c'est que je n'arrive pas à définir ma recherche par rapport à tous mes critères: Ex. si je renseigne la famille, ma listbox me donne tous les outils qui y correspond comment faire pour que selon le critère suivant ma liste diminue.*

Merci de votre aide
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Créer un formulaire de recherche multicritère

Bonjour Jess et bienvenue, bonjour le forum,

Comme tu es nouvelle parmi nous je te recommande de lire la
Lien supprimé du forum qui te donne tous les bons plans pour obtenir de l'aide rapidement. Le problème dans ton cas est l'absence de fichier en pièce jointe. Oui je sais, il paraît que c'est ultra top secret. Ça, je le comprends très bien mais ce que je ne comprends pas c'est pourquoi tu ne crées pas, à partir un classeur vierge, un exemple avec des données non confidentielles.
C'est tellement simple avec Excel de recréer l'environnement du classeur source (nom des onglets, plages nommées, etc), d'y ajouter une poignée de données et les éléments VBA qui vont avec...
On peut t'aider si tu nous aides !

[Édition]
Bonjour Pierrot, décidément on n'arrête pas de se croiser...
 
Dernière édition:

jess55

XLDnaute Nouveau
Re : Créer un formulaire de recherche multicritère

Bonjour,
Merci de répondre aussi rapidement.
J'ai mis en pièce jointe une ébauche avec des données pas très réel mais qui ressemble à ce que je pourrais avoir.
 

Pièces jointes

  • gestion outil.xlsm
    39.8 KB · Affichages: 110
  • gestion outil.xlsm
    39.8 KB · Affichages: 106
  • gestion outil.xlsm
    39.8 KB · Affichages: 104

Robert

XLDnaute Barbatruc
Repose en paix
Re : Créer un formulaire de recherche multicritère

Bonsoir le fil, bonsoir le forum,

Jess j'avais commencé à travailler avec ton Userform mais l'interaction entre les 4 comboboxes devenait vite une véritable usine à gaz...
Je te propose donc une autre méthode de recherche avec l'UserForm1. L'utilsateur tape n'importe quel texte dans la TexBox1 et la ListBox1 s'alimente des lignes contenant le texte édité. Avec ce système d'alimentation de la ListBox1 le nombre de colonne est limité à 10. J'ai choisis de n'afficher que les données des colonne B à J (9 colonnes) car j'ai gardé la colonne 10 (masquée) pour stocker le numéro de ligne.
L'utilisateur peut au choix :
Double-cliquer directement dans la ListBox1 pour atteindre la cellule correspondante en colonne A de l'onglet Outil.
Filtrer en tapant du texte dans la TextBox1, puis double-cliquer dans la ListBox1...
Filtrer, cliquer dans la ListBox1 pour afficher toutes les données de la ligne dans les textboxes 2 à 12 (dont le Nº Outil et la Durée de vie Plaquette qui ne sont pas affichés dans la ListBox1), puis valider par [Ok] pour atteindre la cellule dans le tableau.

la macro Rech lance l'UserForm1...
Le fichier :

 

Pièces jointes

  • Jess_v01.xlsm
    45 KB · Affichages: 117

jess55

XLDnaute Nouveau
Re : Créer un formulaire de recherche multicritère

Bonjour le forum,

Robert, merci ton programme fonctionne vraiment bien. Cela dit je voudrais savoir si il est possible que l'utilisateur ne soit en interaction qu'avec les formulaire et pas le classeur pour éviter les erreurs de manipulation. En effet pour la suite du projet, on me demande d'indiquer à l'utilisateur l'emplacement de l'outil et il doit renseigner la quantité qu'il sort afin de gérer le stock. Je voudrais donc qu'après la recherche un autre formulaire s'ouvre pour indiquer l'emplacement de l'outil à l'opérateur et qu'il puisse lui indiquer la quantité d'outil qu'il sort du stock.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Créer un formulaire de recherche multicritère

Bonjour Jess, bonjour le forum,

Il te suffit de modifier le code du bouton Ok et celui du double-clic dans la ListBox1 (c'est le même). Au lieu de sélectionner l'article dans le tableau il te faut ouvrir ton nouveau formulaire...
Renvoie un nouveau fichier avec ce nouveau formulaire, un exemple montrant ce que tu désires et j'essaierai de l'adapter.
 

jess55

XLDnaute Nouveau
Re : Créer un formulaire de recherche multicritère

J'ai de nouveau un problème. Robert, j'ai essayé de mettre ton programme dans mon fichier mais il bug à différent endroit je ne sais pas pourquoi.:confused: Si quelqu'un peut me dire où sont mes erreurs que je comprenne.
Merci d'avance.
 

Pièces jointes

  • gestion outil.xlsm
    48.3 KB · Affichages: 63
  • gestion outil.xlsm
    48.3 KB · Affichages: 66
  • gestion outil.xlsm
    48.3 KB · Affichages: 59

Robert

XLDnaute Barbatruc
Repose en paix
Re : Créer un formulaire de recherche multicritère

Bonjour Jess, bonjour le forum,

Chez moi ça plante systématiquement à l'ouverture de ton fichier sur cette ligne :

Code:
FormulaireUtilisateur.TxBDate = Format(Now, "DD/MM/YYYY")
Je ne comprenais pas pourquoi mais j'ai trouvé moyen en allant dans le l'éditeur VBE. Menu Outils/Références. Là, il y avait une référence cochée dont le nom était Manquant... (je ne sais plus le nom exact). J'ai décoché cette référence et maintenant ça passe...

C'est après que j'ai découvert les autres bugs. Tout d'abord, tu as renommé la ListBox1 mais tu as laissé ListBox1 plusieurs fois dans le code. Idem, tu as renommé les textboxes de 2 à 12 par 1 à 11 sans changer le i et en gardant (i-1) dans
o.Cells(lig, i-1).Value. J'ai modifié :
Code:
For i = 1 To 11
    Me.Controls("TextBox" & i).Value = o.Cells(lig, i).Value
Next i
Je comprends que tu veuilles changer (on a chacun ses habitudes...) mais il te faut être plus rigoureuse si tu le fais. J'utilise pour faire ça l'outil dans l'éditeur VBE, menu Edition/Remplacer.
Pareil pour la taille des textboxes. 12 pour la hauteur pourquoi pas, mais je vois pas l'intérêt puisqu'on n'y lit plus le texte...


Je regarde le reste dès que j'ai un moment...
Le fichier modifié :

 

Pièces jointes

  • gestion outil.xlsm
    39.1 KB · Affichages: 100
  • gestion outil.xlsm
    39.1 KB · Affichages: 96
  • gestion outil.xlsm
    39.1 KB · Affichages: 92

jess55

XLDnaute Nouveau
Re : Créer un formulaire de recherche multicritère

Merci Robert d'avoir regarder et désolé pour les erreurs de nom de mes boites mais après une matinée complète passer la-dessus et plus de quinze jours de travail j'ai un peu de mal à faire attention à ce que j'écris. Désolé.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Créer un formulaire de recherche multicritère

Bonjour le fil, bonjour le forum,

Jess avec ta base imcomplète je ne peux guère avancer... La version 2 ne fait qu'ouvrir l'UserForm Outil et afficher le numéro d'outil. À toi de continuer pour afficher l'emplacement, (j'aurais aussi ajouter une textbox affichant la quantité disponible en stock) et pou gérer le stcok. À partir du moment où tu as le numéro de l'outil cela devrait être assez simple...
Le fichier :
 

Pièces jointes

  • Jess_v02.xlsm
    36.7 KB · Affichages: 65

jess55

XLDnaute Nouveau
Re : Créer un formulaire de recherche multicritère

Bonjour le forum,
Robert, j'ai pas mal avancé depuis la dernière fois.Je joint donc le fichier et je voudrais savoir si quelqu'un peut me dire comment faire pour lier mes textboxs du Formulaire de sortieOutil entre eux.
Merci d'avance
 

Pièces jointes

  • gestion outil2.xlsm
    43.8 KB · Affichages: 67

jess55

XLDnaute Nouveau
Re : Créer un formulaire de recherche multicritère

Bonjour,
Je ne suis pas sûre d'avoir envoyer le bon fichier donc j'en joint un autre que j'ai vérifier avant.
Désolé
 

Pièces jointes

  • Xl0000001.xls
    108 KB · Affichages: 78
  • Xl0000001.xls
    108 KB · Affichages: 80
  • Xl0000001.xls
    108 KB · Affichages: 93

Discussions similaires

Réponses
17
Affichages
627

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16