Fonction recherche : plusieurs valeurs

Bonjour à tous,

Je bosse sur un doc comportant deux onglet : une base de données et un autre où je souhaite avoir des données qui s'affichent selon le produit sélectionné.

Pour se faire, j'ai travaillé avec les fonctions index et equiv pour des recherches.

Je sélectionne un produit (placé dans une liste déroulante que j'ai crée) et je souhaite voir tel et tel donnée qui apparaissent. Ca fonctionne bien or je n'ai que la première ligne de ma base correspondant au produit sélectionné or un produit peut avoir plusieurs lignes. Donc ça ne va pas :s

exemple dans la base :

12-MAI 2012 POCHETTE 12EUROS

20-AVRIL 2013 POCHETTE 20EUROS

18-SEPT 2015 STYLO 89EUROS

21-AOUT 2013 JOUET 34EUROS

Dans le 2è onglet :

Je souhaite qu'en sélectionnant "POCHETTE", les deux lignes correspondantes apparaissent et non que la première.

Merci d'avance,

sbiclo

Voici le fichier pour exemple pour être plus claire

Merci d'avance

Bonjour,

Le principe est de trouver le n° des lignes où se trouve une donnée recherchée dans la base.

Ici on ne cherche qu'un critère donc dans la colonne N matrice ligne j'ai mis une formule de test qui est recopiée vers le bas sur xxx ligne (j'ai mis 1000 lignes ici)

=(F2=Fiche!$B$1)*LIGNE() qui vérifie si la cellule Fx contient la donnée cherchée qui elle se trouve en B2 de Fiche et la fonction

ligne() donne le n° de ligne où se trouve la donnée dans la feuille Base si la donnée est trouvée plusieurs fois on obtient plusieurs n° de ligne.

Avec INDEX et PETITE.VALEUR associés on ramène toute les occurrences VRAI de la feuille Base dans la feuille Fiche.

A vous de voir.

37forum-0802.xlsx (31.66 Ko)

Merci beaucoup Rajma pour ce travail !!

Juste un point. Quand j'importe mes données je ne peux insérer de nouvelle ligne dans mon premier onglet.

Or j'ai toujours besoin d'en ajouter des nouvelles.

Peux-tu me dire qu'est ce que je peux faire ?

Merciiii

sbiclo


Je viens de fermer et re ouvrir le doc tout fonctionne, autant pour moi !

Merci robjam

Re-bonjour,

Je viens de me rendre compte qu'il faudrait que je puisse sélectionner le nom du produit et obtenir ses données correspondantes.

Mais il faudrait également que je puisse filtrer via le nom du groupe. J'ai crée la liste déroulante semi auto mais je n'arrive pas à appliquer la formule ? (exemple : sélectionner un produit et son groupe et obtenir les données correspondantes que à ce produit mais aussi que à ce groupe) : sbiclo

Je ne saurais appliquer la formule.

Pouvez-vous m'aider

merci

Bonjour,

Cela représente un critère supplémentaire qui doit apparaître dans la recherche du n° de ligne en colonne N de la Base.

Attention que pour que cela fonctionne il faut absolument que les deux informations cherchées soient présentes sur la même ligne.

Je précise cela parce que je vois qu'il y a beaucoup de cellules vides dans la feuille Base.

J'ai adapté le fichier pour une recherche à 2 critères.

16forum-1002.xlsx (23.06 Ko)

Merci beaucoup robjam.

Je note seulement que si je sélectionne un produit qui apparaît plusieurs fois dans la base et qui a donc plusieurs groupes; et bien il n'apparaît pas si je décide de sélectionner que le produit dans la liste déroulante de l'onglet fiche (sans choisir de groupe).

Exemple : le produit x apparaît 3 fois dans la base.

x => groupe2

x=> groupe8

x=>groupe6

Dans l'onglet fiche, lorsque je vais le sélectionner dans la liste déroulante, ces trois lignes n'apparaissent pas. Il faut que je sélectionne dans la liste groupe : 2 ou 8 ou 6 pour voir la ligne apparaître.

Mais je ne pourrai connâitre les groupes d'avance.

Y a t-il moyen de sélectionner le produit x => les trois lignes apparaissent. puis si je sélectionne le groupe 2 par exemple et bien je n'ai que la ligne correspondante qui apparaît.

Merci encore

sbiclo

Bonjour,

Il fallait donner cette précision dans la demande car vous n'aviez évoqué cela nulle part.

J'ai donc modifié la colonne N en fonction de cette demande.

30forum-1002.xlsx (26.27 Ko)

Merci beaucoup robjam c'est génial.

Désolé je n'ai pas été assez précise dans ma requête.

Merci encore, j'espère un jour manier les formules aussi bien !

sbiclo

Bonsoir,

Je souhaiterais créer un userform pour ce document.

J'ai créee l'userform par contre pour le code je sais aps faire.

Quelqu'un peut me guider ?

Je vous joins le doc avec les explications :

merci d'avance,

sbiclo

Bonjour,

A tester en cliquant sur le bouton Encodage de la feuille Encodage.

Pourquoi avez-vous mis les contrôles dans différents Frame cela contrarie la suite des réceptions focus. Il faut utiliser la souris pour passer d'un Frame à l'autre.

10userform-f.xlsm (86.69 Ko)

Merci beaucoup robjam, l'userform marche très bien.

Juste quand j'ajoute un nouveau produit ou étab ou groupe qui n'existe pas déjà, il s'ajoute correctement en dernière ligne dans l'onglet base mais ne s'ajoute pas dans l'onglet data, dans sa colonne.

Merci !!

sbiclo

Bonjour,

Je ne me suis pas occupé de cet ajout car c'est une opération une peu plus compliquée, cela ne doit se produire que pour le cas d'un élément Produit ou Groupe ou Etablissement qui n'existe pas encore. Cela doit être possible mais demande plus de réflexion.

Voilà c'est fait à vous de tester.

7userform-f.xlsm (87.36 Ko)

Merci robjam pour ce que tu as fait déjà !

Est ce que quelqu'un a une idée pour aussi implémenter les données rentrées dans l'onglet Data ??

Merciiiiiiiiiiii

sbiclo

Bonjour,

Si vous aviez téléchargé et ouvert le dernier fichier que j'ai posté vous auriez vu que c'est fait depuis quelques jours. J'avais ajouté Voilà c'est fait et changé le fichier. A vous de le tester.

8userform-f.xlsm (87.36 Ko)

Autant pour moi ! Merci robjam en effet le doc m'est passé sous le nez carrément. Et depuis je cherche toujours en vain ...

Un énorme merci !

sbiclo

Bonjour Robjam et tout le forum,

Après avoir bossé sur l'interface de saisie userform, je note qu'il manque qqch d'important : un bouton "Suivant".

Il permettrait de rentrer un produit puis un autre sans devoir effacer manuellement toutes les cases.

Je l'ai ajouté sur l'interface, pouvez-vous m'aider pour le code ?

Le doc : sbiclo

De plus, petite question, je ne sais vraiment pas si c'est possible mais est ce qu'on peut faire en sorte que quand l'userform s'affiche, il s'adapterait automatiquement à la taille de l'écran du pc ?

Merci d'avance pour le temps consacré et votre aide,

Bonsoir,

Voila ce que je propose

Bonjour Robjam,

C'est super ! ça répond au besoin

Autre petite question : à l'utilisation, dans les combobox j'ai une longue liste de produits et établissements.

Est-il possible d'instaurer une espèce de saisie automatique me permettant de taper une partie de l'expression et d'avoir une sélection plus fine des produits ou établissement ressemblant.

Etablissement :

Etab filoulou

Etab poupou

Etab poupougo

Etab machin

=> je taperai "poupou" et j'aurai "Etab poupou' et "Etab poupougo".

En fait comme j'ai des listes longues, c'est difficile de trouver un produit ou établissement donné (je dois tout dérouler...).

Merci d'avance,

sbiclo

Bonjour,

Impossible de taper poupou et d'obtenir Etab poupou. Les combobox sont ainsi fait que quand on tape le 1er caractère le pointeur se positionne sur la 1ère occurrence qui commence par le caractère entré. Donc si on veut atteindre Etab poupou il faut taper Etab p..

et on ne devrait pas être loin de la valeur cherchée. Ce qu'il faut faire aussi c'est augmenter le nombre de lignes affichées dans le combo.

Rechercher des sujets similaires à "fonction recherche valeurs"