Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Fonction recherche

  • Initiateur de la discussion G'Claire
  • Date de début
G

G'Claire

Guest
Salut a tous

Je possède dans un fichier deux feuilles:

La première avec des données "Feuille Données" : Colonne B(Type de véhicule), C(Marque), D (Modèle) qui vont de la ligne 6 a 80

La deuxième qui sert a la recherche "Feuille recherche" : Colonne E, F, G

Ce que j'aimerais c'est :

Faire une recherche (Feuille recherche) a partir d'une liste déroulante dans
la colonne E, remplire automatiquement les colones F, G sachant que
si il y a une solution l'insctire et si plusieurs solution faire une
liste déroulante pour proposer choix.

Ex :

Feuille données "Feuille Données"

Type de véhicule(Colonne B) : Marque (Colonne C) : Modèle (Colonne D)

Voiture aaaaa aaaa
Voiture aaaaa bbbb
Voiture bbbbb aaaa
Voiture bbbbb bbbb
Moto bbbbb aaaa
Moto bbbbb bbbb
Moto aaaaa aaaa
Moto aaaaa bbbb

Recherche

Si je recherche (Feuille recherche) dans ma liste déroulante

Colonne E

Si je choisi "Moto" que cela me mette tout se qui correspond
a "Moto" dans la colonne F "bbbb" et "aaaa",

si je choisi "bbbb" quecela me mette tout ce qui correspond a "bbbb" dans la colonne G,

et pour finir je choisi dans la colonne G mon dernier choix ""bbbb"

J'espère que j'aurai était assez claire dans mes explications.

Et vous remercie par avance, G'claire
 
M

Marc

Guest
bonjour,

Je pensais que les grands spécialistes des Listes de validations imbriquées( ou croisées) allaient se manifester;

J'ai tenté quelque chose à l'aide de VBA et liste de validation.
Sûrement encore perfectible. Il y a peut-être plus simple.
En tout cas ,certainement à réarranger.

A+
 

Pièces jointes

  • ATEST1.xls
    45 KB · Affichages: 50
J

Jean-Marie

Guest
Bonjour,

Marc, j'ai regardé ton fichier, il ne fonctionne pas très bien.

En ce qui concerne le fichier joint, il fonctionne à base de filtres élaborés, le lancement de la macro est géré par l'événement change sélection, détecté dans la plage de choix. Claire, j'ai vraiment fait des efforts pour toi, saisir du code VBA, me fait pousser de boutons aux bouts des doigts.

D'autres démos existent sur le forum d' XLD, sur ton problème, en VBA (sans userform ou avec userform) ou sans VBA.


@+Jean-Marie
 

Pièces jointes

  • liste_de_choixzip.zip
    14.3 KB · Affichages: 23
M

Monique

Guest
Bonjour,

Ce n'est pas tout à fait ça que tu cherches, G'Claire.
Liste déroulante dépendant du choix fait dans une autre liste déroulante.
Des formules, pas de macro.
 

Pièces jointes

  • sous_listes.zip
    9.3 KB · Affichages: 29
M

Marc

Guest
Bonjour,

Je savais que des spécialistes allaient se manifester : bravo

Toutefois, le fichier que j'ai joint : en l'ouvrant directement, il laisse apparaître des erreurs. Par contre, en le sauvegardant, puis en l'ouvrant, je suis dans la situation où j'étais avant de l'envoyer : çà marche (sans doute pas le top comme soluce)

A+
 
G

G'Claire

Guest
Bonsoir le forum,


Merci a Monique, Marc et Jean-Marie.


C'est dans tous les cas se que je recherche, mais j'avais pris l'exemple pour des véhicules pensant comprendre le code pour en refaire un pour mon utilité, histoire de faire mon code, mais en fait cela n'est pas évidant car cela devient plus compliquer que ce que j'avais besoin.

En fait ce que je veux faire c'est le même principe mais pour des liste de chanteurs, titres et temps et je ne pensé pas que vous feriez un fichier si précis, je vais voir pour comprendre un peu plus ces deux methodes.

Merci beaucoup, G'Claire
 
M

Monique

Guest
Bonsoir,

On ne parle plus de voiture ni de moto.
Le fichier est modifié, avec des noms de plages un peu plus en rapport avec le sujet.
Il n'y a plus de formules matricielles, rien que des index équiv classiques.
 

Pièces jointes

  • sous_listes_chanteurs.zip
    7.6 KB · Affichages: 31
G

G'Claire

Guest
Monique

Merci pour ton fichier et désolé pour le travail que je t'ai fait faire sur le précédant, mais je voulais m'en servir d'exemple.

Es-ce que tout les tableaux sont obligatoires?

Car en fait, je vais inclure ce fichier dans un que j'ai déjà, et mes listes a remplire sont en lignes (Colonnes E, F , G) et ces lignes s'incrémentes seules.

Ma feuille qui s'appelle "Tool_Chansons" Es-ce que je dois y mettres tous ce que comporte ton fichier?

Comme dans la feuille

"Source, colonne A, E, F, G, H"

"Feuille2" A4:C14

Merci, G'Claire
 
M

Monique

Guest
Bonsoir,

"Feuille2" A4:C14 donne les titres de chansons et la durée de chacune, à partir du moment où on a choisi un nom en C2.
Dans la même feuille, F1 et F2 te donnent la même chose que A4:C14, toujours après le choix d'un chanteur, mais tu n'as pas la liste, c'est chanson par chanson.
Feuille 2 encore : la colonne I (cellules I1, I2 et I3) ne dépend que des colonnes "nom", "titre" et "durée" de la feuille "source"
A4:C14 dépend de C1 et des colonnes B C D E F G H de la feuille "source"
F1:F2 dépend de C1 également et des colonnes B C D E F G H de la feuille "source"
Toutes les cellules A4:C14, F1:F2, I1:I3 dépendent de la feuille "source"
B1 ne dépend que de la feuille "Listes"
Tu peux donc enlever soit A4:C14, soit F1:F2, soit I1:I3, soit toutes les 3 à la fois.

Bon, feuille "source", maintenant.
Bonne nouvelle : la colonne A (Nb par nom) ne sert plus à rien depuis la modification du fichier.
(elle est remplacée par une formule en feuille 2, de A4 à A14)
Colonnes B et C et D : on n'en parle pas.
Colonnes E F G H : elles servent à faire la liste déroulante, en feuille 2, de la cellule F1.
Cette liste déroulante ne contient que les titres des chansons du chanteur choisi dans la première liste déroulante.
Colonnes E F G H : elles servent aussi à faire le tableau A4:C14 de la feuille 2.
Ce tableau ne contient que les titres des chansons du chanteur choisi dans la première liste déroulante, c'est à dire le contenu de la colonne H.

Feuille "Listes" : elle sert à faire la liste déroulante de la feuille 2

Conclusion
Tu commences par supprimer la colonne A de la feuille "source"
Si tu supprimes et la plage A4:C14 et les colonnes E F de la feuille 2, tu peux supprimer les colonnes E F G H de la feuille "source"
Si tu supprimes les colonnes E F ou les colonnes H G de la feuille 2, ça n'a aucune conséquence sur le reste.

Pour savoirs quels sont les dépendants ou les antécédents de telle cellule :
Barre de menus - Outils - Audit de formules - Afficher la barre d'outils audit de formules.
Tu fais glisser la souris sur les icônes et tu vois à quoi sert chaque icône.
(mais ce n'est pas valable pour les listes déroulantes)

Mon baratin est plus long que le fichier !
 
G

G'Claire

Guest
Monique

Merci pour tes explications.

Je ne pensais pas qui faille jongler sur autant de tableaux pour faire ce que je voulais.

Je vais essayer de tout comprendre afin de pouvoir le refaire pour mon fichier.

merci et bonne soirée, G'Claire
 
G

G'Claire

Guest
Bonsoir le forum,

Monique

J'ai donc gardé la méthode avec le choix par le titre.

J'ai modifié la formule car ma liste de validation est en F14

Alors pour la colonne temps et interprètes c'est modifé aussi, mais par contre dans la cellule s'affiche "faux"

Qu'est-ce que cela veux dire ?

Merci, G'Claire
 
M

Monique

Guest
Bonsoir,

Je n'ai pas compris.
Quelle liste de validation est en F14, celle qui était au départ en F1 ou celle qui était en I1 ? (les 2 donnent un choix par le titre)

Je viens de copier F1 et F2 pour les coller en F14 et F15, ça fonctionne.
Mëme chose avec I1:I3.
On peut les mettre en fait n'importe où et, si on respecte leur position de départ, c'est bon.
(Si F1 arrive en F14, F2 doit arriver en F15. Si I1 est arrivé en F14, I2 et I3 doivent être en F15 et F16, sinon il faut modifier les formules)

Tu dis : "pour la colonne temps et interprètes c'est modifé aussi"
Sur le fichier d'origine, il y a bien, en feuille 2, une colonne temps de C5 à C14, mais elle dépend de la colonne A et de la liste déroulante C1 (le nombre de titres et le chanteur choisi)
Sinon, dans la feuille source, tu modifies comme tu veux les colonnes "nom", "titre", "duree" et ça n'a pas de conséquence sur le reste.

Tu dis aussi : "dans la cellule s'affiche faux".
Quelle cellule, quelle formule contient cette cellule et que veux-tu comme résultat, et où est-elle située ?

Aïe, ça fait beaucoup de questions, mais je ne comprends pas ce que tu as comme erreur.
 
G

G'Claire

Guest
Re le forum

Monique

Merci,

En fait c'est pour ajouter dans le hichier que vous avez tous participé pour mes ballets.

J'aura aimé entré le titre et que cela me remplisse l'interprète et le temps.

Donc j'ai :

Interpretes en E14 avec la formule :
=SI(F14=";";INDEX(interpretes;EQUIV(F14;titres;0)))

Dans cette cellule cela m'inscrit "FAUX"


Le titre avec une liste de validation en en F14 avec :

Données->validation

Liste
=DECALER(titres;0;0;NBVAL;(titres))

Le temps en G14 avec la formule :
=SI(F14=";";INDEX(temps;EQUIV(F14;titres;0)))

Dans cette cellule cela m'inscrit "FAUX"

J'ai créer les listes pour Interprètes, titres, temps dans la feuille Tool-chansons

Insertion->Noms->Définir

Mais là je pense pas de problème

Merci de m'éclairer, G'Claire
 
M

Monique

Guest
Re,

Trouvé.
C'est tout bête. Mais j'ai eu du mal à trouver.
Ce n'est pas :
=SI(F14=";";INDEX(interpretes;EQUIV(F14;titres;0)))
c'est :
=SI(F14="";"";INDEX(interpretes;EQUIV(F14;titres;0)))

Ce n'est pas :
=SI(F14=";";INDEX(temps;EQUIV(F14;titres;0)))
c'est :
=SI(F14="";"";INDEX(temps;EQUIV(F14;titres;0)))

Tu vois la différence ?
=SI(F14="" une paire de guillemets, à chaque fois.
;""; et non ;";

Sinon, ça pouvait être les plages "interprètes" et "titres" qui n'auraient pas eu la même longueur, ou bien tu aurais pu taper "titres" au lieu de "titre" ou autre tout petit truc comme ça.
 

Discussions similaires

Réponses
1
Affichages
253
Réponses
7
Affichages
256
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…