[RÉSOLU]Ne pas afficher doublons

mickno

XLDnaute Nouveau
Bonjours le forum,

J'ai un petit moteur de recherche dans mon fichier de gestion de stock,
J'aurais besoin d'une petite aide pour que mon moteur de recherche ne m'affiche pas le doublons.

Expliquations :

Sur l'onglet "Principal" , Il y a un bouton nommé Rechercher par équipement, (Moteur de recherche)
réfèrant le UserForm "Recherche"
Ce moteur de recherche cherche dans le feuille "Mvts" le no de réfèrance (Colonne A) en fonction du numéro de l'équipement (Colonnne H) inscrit dans le TextBox.

Ce que j'aimerai c'est qu'il ne m'affiche aucun doublons de la Colonne A lors de la recherche.

Merci de votre temps
Mickno :)
 

Pièces jointes

  • Inventaire 2.0.zip
    245.2 KB · Affichages: 47
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : [VBA] Ne pas afficher doublons

Bonjour.

Êtes vous sûr que vous voulez toujours afficher toutes les désignations colonne H commençant par le début tapé, ou plutôt une seule, mais la bonne quand un nombre suffisant de ce début a été tapé pour atteindre le bon ?
 

Zdz16

XLDnaute Occasionnel
Re : [VBA] Ne pas afficher doublons

Bonjour mickno et le forum

J'ai jeté un coup d’œil vite fait (au boulot !!) au code que tu as utilisé pour le chargement de ta liste des résultats.
Je pense que tu as deux solutions possibles, la première solution standards, le seconde est l'utilisation d'une table de hachage avec une clé.

La première : Avant d'ajouter tes valeurs tu parcours la liste déjà chargée et tu teste si la nouvelle valeur, celle que tu veux y ajouter existe ou non. Si existe on n'ajoute pas. Donc cela va te faire deux boucles imbriquées.

La seconde : l'utilisation de la technique des tables de hachage un peu plus poussée: Voir le lien
A quick & simple VBA HashTable Implementation - CodeProject.

Par ceci j'espère t'avoir mis sur la voie

Cordialement
 

Dranreb

XLDnaute Barbatruc
Re : [VBA] Ne pas afficher doublons

J'ai supposé qu'on ne cherchais qu'un seul nom de la colonne H et donc mis un ComboBox (sans la flèche de la liste, qui n'aurait pas l'air de vous intéresser) à la place de la TextBox.
Mais ça pourrait se faire à peu près dans le même style en sortant tous ceux commençant par un début tapé dans une TextBox. Il suffirait de ranger Dico.Keys ailleurs et de l'explorer.
 

Pièces jointes

  • DicArbMickno.xls
    839.5 KB · Affichages: 26

mickno

XLDnaute Nouveau
Re : [VBA] Ne pas afficher doublons

Bonjour le Forum,
Merci a tous pour vos réponses mais Dranreb, Sa marche parfaitement sauf que le seul point c'est que pour la 3e colonne du userform , il ne m'affiche pas la bonne chose il doit afficher la colonne B ou il a des 1.
Mais sinon c'est parfait :) complexe mais parfait haha :)
 

mickno

XLDnaute Nouveau
Re : [VBA] Ne pas afficher doublons

La liste des équipements sont dans la feuille "Équipements" En colonne A.
J'ai penser a mettre un ComboBox Se réfèrant a celle ci.Le but de ce userform ses de savoir quels pièces on été sortie (Feuille MVTS) sur chaqu'un des équipements la l'importance de pas avoir de doublons :)
 

Dranreb

XLDnaute Barbatruc
Re : [RÉSOLU]Ne pas afficher doublons

C'est qu'il y avait "Nom" au dessus de la 3ième colonne. Mais bon j'ai corrigé de mon coté, renommé partout TNoms en TDscr et au lieu de Feuil8.[I2] fait TDscr = ColUti(Feuil8.[B2]).Value
À part ça j'ai un peu eu l'impression que vous pourriez simplifier l'application comme par exemple utiliser presque un seul Userform pour tout faire, en utilisant d'autres modules de service, notamment un module de classe ComboBoxLiés pour gérer automatiquement plusieurs ComboBox. À vous de voir si ça peut vous intéresser.
 

mickno

XLDnaute Nouveau
Re : [RÉSOLU]Ne pas afficher doublons

J'aimerai bien mais ou je travail c'est des employée syndiquer ils agissent comme des enfants de 5 ans donc il faut que ce soit tout séparer et bien claire ahah... sur ce bonne journée et merci encore :)
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz