XL 2010 Recherche multicritère avec résultat sur VBA

dalisoon

XLDnaute Nouveau
Bonjour
svp qui peut m'aider a creer sur une base des données de 1000 Lignes ,un mode de recherche avec des résultats simple
j'ai essayé sur vba mais c'est vraiment une casse tete
je peux vous donner le fichier et si possible me faire le vba et merci
 

vgendron

XLDnaute Barbatruc
je ne sais pas ou mettre le code

Si tu poses la question, c'est que tu ne sais meme pas ouvrir l'éditeur vba.. je me trompe?

donc
1) ouvrir l'éditeur vba: Alt +F11 (ou onglet développeur - visual basic
2) dans l'explorateur de projet à gauche: clic droit sur le nom du projet, insertion module
3) dans la fenetre de code à droite: coller le code
 

dalisoon

XLDnaute Nouveau
Salut les amis
le probléme d'affichage de l'userform c'est ok
il reste que je vois la saisie semi automatique et puis le resultat de la recherche
le resultat de recherche pour moi c'est toujours trouver la colonne destination
 

Pièces jointes

  • Dalisson_ED_v01.xlsm
    124.4 KB · Affichages: 1

vgendron

XLDnaute Barbatruc
Bon.. comme je me suis amusé un peu, je poste

1) cliquer sur le bouton 1
2) selon la feuille active, la ListView est remplie avec les données de la feuille
3) tu selectionnes un critère = nom de la colone de filtrage
4) le combo à coté est rempli automatiquement avec les valeurs possibles
5) clic sur "Rechercher" ==> la listeview est mise à jour avec les lignes filtrées

6) tu peux choisir une seconde colonne de filtrage,
7) le combo à coté est aussi mis à jour
8) tu selectionnes (ou tapes une valeur) et clic rechercher

les combo ont une saisie semi automatique

PS: on est bien d'accord qu'utiliser le filtres d'excel serait tout aussi efficace... voire mieux...
 

Pièces jointes

  • Mode de recherche.xlsm
    133.3 KB · Affichages: 7

dalisoon

XLDnaute Nouveau
je clique sur bouton est voila ce que j'ai 1
1656882848743.png
 

dalisoon

XLDnaute Nouveau
@soan
je pense qu'ont peut partir de ce fichier
il manque le menu défilant ou semi automatique
objectif :
chaque aricle correspond à une destination par famille designation
cad si tu renseigne l'article et tu définie la famille de la designation et tu clique recherche tu aura la destination correspondante
ou si tu renseigne la famille designation puis la designation et tu clique recherche tu aura la destination
 

Pièces jointes

  • dalisson-ed-v1 (2).xlsm
    121 KB · Affichages: 2

soan

XLDnaute Barbatruc
Inactif
Bonjour dalisoon, le fil,

ouvre le fichier joint ➯ affichage de UserForm3 ; sans rien choisir, clique sur le bouton "Valider" ➯ y'a ce message : « Vous devez faire un choix ou fermer la boîte de dialogue. » ; clique sur le bouton OK ➯ ça revient sur le UserForm3 ; sans rien choisir, clique sur la croix de fermeture située dans le coin haut droit ➯ ça ferme le UserForm3, et tu es de retour sur la 1ère feuille de cacul.

fais Ctrl e ➯ ça ouvre UserForm1 ; le curseur est sur le champ de "Recherche par Item" ; appuie sur la touche Echap ➯ ça ferme UserForm1 ; ça aurait fait pareil si tu avais fait Echap sur le champ de "Recherche par désignation".

fais Ctrl f ➯ ça ouvre UserForm2 ; le curseur est sur le champ de "Critère 1 :" ; appuie sur la touche Echap ➯ ça ferme UserForm2 ; ça aurait fait pareil si tu avais fait Echap sur le champ de "Recherche par désignation".

fais Ctrl g ➯ ça ouvre UserForm3.​

tout ça, c'était pour te montrer que c'est très facile d'entrer sur un des 3 UserForm et d'en sortir.



maintenant, sur UserForm3, clique sur le 1er bouton radio ⦿ UserForm1 puis sur "Valider" ➯ ça ouvre UserForm1 ; je te laisse l'essayer ; quand tu auras fini les tests de ce formulaire, ferme UserForm1 ; fais Ctrl g et clique sur le 2ème bouton radio ⦿ UserForm2 puis sur "Valider" ➯ ça ouvre UserForm2 ; bien sûr, ça aurait été plus simple de faire directement Ctrl f ; à toi de faire les tests de UserForm2.​

soan
 

Pièces jointes

  • Dalisson_ED_v02.xlsm
    130.5 KB · Affichages: 20

vgendron

XLDnaute Barbatruc
Hello

pour le problème d'objet non disponible sur cette machine, je pense que le control "ListView" n'est pas actif
suis la procédure suivante pour le rendre dispo
1) ouvrir éditeur vba
2) Outils références
3) cocher la référence Microsoft Common Control 6.2 (Sp6)
4) ouvrir la boite à outil (il faut d'abord double cliquer sur le formulaire pour qu'il soit affiché a droite)
5) clic droit sur la boite à outil
6) Controles Supplémentaires
7) cocher "Microsoft ListView Control Version6"

8) enregistrer
9) vérifier que sur le formulaire, le control "ListView" est bien dessiné avant de relancer
sinon, tu retélécharges mon fichier sur le forum
relancer
Sans titre 5.png
 

Pièces jointes

  • Sans titre 4.png
    Sans titre 4.png
    45.9 KB · Affichages: 24
  • Sans titre 3.png
    Sans titre 3.png
    45.4 KB · Affichages: 22
  • Sans titre 2.png
    Sans titre 2.png
    45.4 KB · Affichages: 21
  • Sans titre 1.png
    Sans titre 1.png
    28.3 KB · Affichages: 22

dalisoon

XLDnaute Nouveau
Salut @vgendron

Merci pour les details et le travail ,je pense qu'on peut prendre en considération ce fichier si c'est possible de m'aider sur ces points :

1)je pense qu'on peut laisser le userform 1 et supprimer le 2(une erreur quand j'ouvre le userform1)

2)quand je tape sucre ou riz je vois la liste déroulante mais non pas saisi semi automatique

3) j'ai changé un peu la userform1 dans le format mais non pas dans les codes que j'en ai besoin de ton aide il me reste :

*avoir un choix pour l'utilisateur entre recherche par item et recherche par désignation (c a d il ne peut pas mettre deux choix)

*obligatoirement il faut mettre la famille de désignation (c'est un détail important)

*le résultat c'est d'avoir seulement la destination (il faut juste cliquer recherche)

Merci on avance bien
 

Pièces jointes

  • dalisson-ed-v2 (2).xlsm
    128.2 KB · Affichages: 2

soan

XLDnaute Barbatruc
Inactif
Bonjour dalisoon, vgendron,

quand j'ouvre le fichier, j'ai seulement UserForm1 et UserForm2

oui, c'est normal, car le UserForm3 est justement le formulaire en cours : il ne va pas s'appeler lui-même ! rappel : UserForm3 est appelé automatiquement à l'ouverture du classeur par la sub Workbook_Open() ; ou manuellement par l'utilisateur via Ctrl g (ou via Alt F8).

pour la suite, je te laisse voir ça avec vgendron ; bonne chance pour ton projet VBA ! 🍀

soan
 

Discussions similaires

Statistiques des forums

Discussions
312 111
Messages
2 085 396
Membres
102 882
dernier inscrit
Sultan94