IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

EXCEL recherche dans une plage de données


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Femme Profil pro
    stagiaire
    Inscrit en
    Avril 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : stagiaire

    Informations forums :
    Inscription : Avril 2015
    Messages : 19
    Points : 8
    Points
    8
    Par défaut EXCEL recherche dans une plage de données
    Bonjour,

    J'ai un fichier comprenant deux onglet,
    Dans mon premier onglet j'ai toutes les caractéristiques de mes plats (prix, allergènes, menu auquel le plat est distribué,...)toute les fiches des plats sont espacé de 45 lignes. Dans mon deuxième onglet j'aimerai juste le nom du plat si il est du menu 1, et en fonction du jour.
    (j'ai mis le fichier en pièce jointe)
    Je voudrais faire une recherche dans le tableau de planing allant de A1:U7, en prenant juste en compte le numéro 1 (menu 1) dans la colonne Lundi; si ces critères sont respectés, excel doit me sortir l'intitulé du plat, et les critères allergènes (ces deux points doivent etre mis dans le deuxième onglet)
    Et je n'arrive pas à le faire :-/

    Est-ce que quelqu'un pourrait m'aider?
    Si je n'ai pas été assez clair, n'hésiter pas à me demander des précisions.

    Merci
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Une nouvelle fois, ton exemple démontre à quel point Excel n'est vraiment pas l'outil adéquat pour faire des bases de données.
    Nonobstant les réponses que je vais essayer de t'apporter, je pense que tu devrais très sérieusement réfléchir à t'orienter vers un autre outil comme Acces ou Open Office Base.
    Ce que tu présentes ici est un exemple typique de ce qui devrait être fait avec des bases de données indexées entre elles.

    Citation Envoyé par anniie Voir le message
    toute les fiches des plats sont espacé de 45 lignes.
    Je ne vois pas d'indice pour les repérer.
    Est-ce que ça veut dire que c'est leur position dans la feuille qui est leur seul repérage et donc que cette structure est figée ?
    Ca me parait très risqué comme méthode.

    Dans mon deuxième onglet j'aimerai juste le nom du plat si il est du menu 1, et en fonction du jour.
    Dans ton deuxième onglet, je vois des colonnes pour les jours et pour les allergies mais je ne vois pas d'emplacement prévu pour indiquer le nom du plat.

    Je voudrais faire une recherche dans le tableau de planing allant de A1:U7, en prenant juste en compte le numéro 1 (menu 1) dans la colonne Lundi;
    Je ne comprends pas ton explication.
    Est-ce que tu veux dire qu'il faut scruter le planning de chaque plat, repérer dans ce planning dans quelle case se trouve écrit "1". regarder à quel jour de la semaine ça correspond puis ajouter le nom de ce plat dans l'onglet Recap à la suite du non du jour de la semaine ? C'est bien ça ?

    Il me semble y avoir de nombreuses difficultés conceptuelles à ça.
    Est-il normal qu'il y ait un nombre de lignes différents dans l'onglet Recap entre les jours de la semaine (parfois 8, parfois 9) ?
    Les cellules fusionnées pour les jours de la semaine dans tes planning, ça va compliquer les choses (on ne le répètera jamais assez : fusionner, c'est le mal).
    Une estimation par division permet d'estimer qu'il y une vingtaines de fiches "plat". Es-tu sûre qu'il n'y aura jamais plus de "1" dans les planning d'un jour de la semaine que de ligne entre ce jour et le suivant dans le tableau 2 ?

    si ces critères sont respectés, excel doit me sortir l'intitulé du plat, et les critères allergènes (ces deux points doivent etre mis dans le deuxième onglet)
    Tu parles de critèreS (au pluriel). Or, dans tes explications précédente, le seul critère que je vois est le "1" dans le planning du menu. Y en a-t-il d'autres ?

    Est-ce que quelqu'un pourrait m'aider?
    Il est peut probable que ce que tu souhaites faire puisse se faire sans une macro en VBA.
    Quel est ton niveau en programmation VBA ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    stagiaire
    Inscrit en
    Avril 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : stagiaire

    Informations forums :
    Inscription : Avril 2015
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Bonjour Menhir

    Je ne vois pas d'indice pour les repérer.
    Est-ce que ça veut dire que c'est leur position dans la feuille qui est leur seul repérage et donc que cette structure est figée ?
    Ca me parait très risqué comme méthode.
    Cette structure est bien figée dans le temps, elle n'est pas censé bouger


    Dans ton deuxième onglet, je vois des colonnes pour les jours et pour les allergies mais je ne vois pas d'emplacement prévu pour indiquer le nom du plat.
    Le nom des plats devraient s'insérer en dessous du jour correspondant, soit dans la colonne A (le premier en A3)


    Je ne comprends pas ton explication.
    Est-ce que tu veux dire qu'il faut scruter le planning de chaque plat, repérer dans ce planning dans quelle case se trouve écrit "1". regarder à quel jour de la semaine ça correspond puis ajouter le nom de ce plat dans l'onglet Recap à la suite du non du jour de la semaine ? C'est bien ça ?

    Il me semble y avoir de nombreuses difficultés conceptuelles à ça.
    Est-il normal qu'il y ait un nombre de lignes différents dans l'onglet Recap entre les jours de la semaine (parfois 8, parfois 9) ?
    Les cellules fusionnées pour les jours de la semaine dans tes planning, ça va compliquer les choses (on ne le répètera jamais assez : fusionner, c'est le mal).
    Une estimation par division permet d'estimer qu'il y une vingtaines de fiches "plat". Es-tu sûre qu'il n'y aura jamais plus de "1" dans les planning d'un jour de la semaine que de ligne entre ce jour et le suivant dans le tableau 2 ?
    Oui c'est bien ce que j'aimerai faire en effet.
    Le nombre de ligne pour chaque jour a été mis aléatoirement, il ne correspond donc pas forcément aux nombres des plats qui doivent y figurer.
    Je n'ai pas bien compris ce que tu voulais dire, avec le "1" dans les planning et les lignes. Mais normalement le 1 apparaitera une seul fois pour un jour dans le tableau de la semaine (le premier à gauche sur la feuille).


    Tu parles de critèreS (au pluriel). Or, dans tes explications précédente, le seul critère que je vois est le "1" dans le planning du menu. Y en a-t-il d'autres ?
    Si le nombre 1 est présent dans la colonne du lundi, alors dans ce cas excel doit me sortir l'intitulé du plat, et les critères allergènes.
    (désolé je me suis mal exprimé)


    Il est peut probable que ce que tu souhaites faire puisse se faire sans une macro en VBA.
    Quel est ton niveau en programmation VBA ?
    Je n'y connais rien en VBA
    Est-ce que tu veux dire que je pourrais pas exécuter ma commander sans VBA?
    De mon point de vue je ne pensais pas que cela aller poser autant de soucis. Pour moi il fallait faire une recherche de nombre 1 dans la colonne du planing de la semaine, et si il était présent afficher le nom du plat dans la section adéquat de l'onglet "recap"... Après tout je ne suis que novice, peut être que je ne vois pas toute la complexité que cela entraîne...

    Je te remercie d'avoir pris le temps de répondre à mon post.
    Anniie

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par anniie Voir le message
    Le nombre de ligne pour chaque jour a été mis aléatoirement, il ne correspond donc pas forcément aux nombres des plats qui doivent y figurer.
    Etant donné que tout ton principe fonctionne sur le repérage par nombre de ligne, il est forcément impératif que ce nombre de lignes soit rigoureux et respecté.

    Je n'ai pas bien compris ce que tu voulais dire, avec le "1" dans les planning et les lignes. Mais normalement le 1 apparaitera une seul fois pour un jour dans le tableau de la semaine (le premier à gauche sur la feuille).
    Oui mais il y a un planning par plat et donc un nombre de "1" pour un jour de la semaine donné (pour l'ensemble des plats) qui peut dépasser le nombre de ligne prévues entre deux jours sur ton second tableau.
    Y a-t-il des protections contre ça ?

    Je n'y connais rien en VBA
    Est-ce que tu veux dire que je pourrais pas exécuter ma commander sans VBA?
    Sincèrement, si quelqu'un arrive à faire ce que tu demandes avec la structure que tu proposes sans utiliser de VBA, je lui tire mon chapeau.
    Personnellement, je ne pense pas que ce soit possible.
    Et même avec du VBA, en l'état actuel (avec la structure de données que tu as choisie), ça me semble très compliqué.

    Etant donné que le nombre de plats n'est pas énorme (20), à ta place j'aurais mis un plat par onglet, ce qui serait moins compliqué à gérer et plus souple pour des modifications éventuelles.

    Mais, je le répète, il me semble souhaitable de s'orienter plutôt vers des bases de données en prenant bien le temps de réfléchir à leur structure..

    De mon point de vue je ne pensais pas que cela aller poser autant de soucis. Pour moi il fallait faire une recherche de nombre 1 dans la colonne du planing de la semaine, et si il était présent afficher le nom du plat dans la section adéquat de l'onglet "recap"...
    Le problème (du moins l'un des problème) c'est que dans ta structure, ce n'est pas organisé en colonne mais en zones séparées. Et il n'y a pas dans Excel de fonctions qui permette de lancer des recherches dans des cellules disparates.

    Il n'est pas non plus possible (ou plutôt c'est très compliqué) de générer des listes en triant des données uniquement avec des fonctions.
    Une fonction renvoie une valeur, elle ne déclenche pas des actions. Entre autre, elle ne peut pas mettre des valeurs dans une autre cellule. Pour faire ça, il faut passer par une macro en VBA.

    Après tout je ne suis que novice, peut être que je ne vois pas toute la complexité que cela entraîne...
    Bien sûr que si tu vois cette complexité. Sinon tu ne serais pas venue sur ce forum.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Futur Membre du Club
    Femme Profil pro
    stagiaire
    Inscrit en
    Avril 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : stagiaire

    Informations forums :
    Inscription : Avril 2015
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Menhir,

    J'ai compris la complexité de la chose.
    Je vais essayer de réorganiser mon fichier en colonne, en ne prenant que les information qui m'intérèsse, pour après faire une "simple" recherche.

    Merci d'avoir tenté de ressoudre mon problème =)
    Si jamais j'ai un autre soucis, je reposterai un message.
    Merci encore =)

  6. #6
    Futur Membre du Club
    Femme Profil pro
    stagiaire
    Inscrit en
    Avril 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : stagiaire

    Informations forums :
    Inscription : Avril 2015
    Messages : 19
    Points : 8
    Points
    8
    Par défaut RE: EXCEL recherche dans une plage de données
    Salut tout le monde,

    je reviens vers vous avec un nouveau fichier que j'ai réorganisé plus ou moins bien.
    Mon fichier est un récapitulatif des noms des plats, avec leur jour d'apparition (L1: lundi du menu 1; M1: mardi du menu 1; ...), ainsi que leur bilan allergène.
    Je voudrais (si possible), rechercher dans mon premier onglet "recap", tous les plats ayant dans la deuxième colonne la mention L1, et mettre le noms des plats en question dans la première colonne de mon deuxième onglet "Menu1" dans la section Lundi.
    Je voudrais aussi, si possible qu'il ne me laisse pas de ligne vide.
    Je vois ma formule de la manière suivante
    Si L1 apparait dans la colonne B de l'onglet "recap"; Alors on met le nom du plat; Sinon on cherche la prochaine référence.

    J'aurais commencer ma formule par: =SI(NB.SI(recap!B:B;"L1");.......


    Je ne sais pas si cela est très clair, mais voilà un fichier à l'appui.
    En esperant que cette fois ma requete est réalisable.

    Merci
    Fichiers attachés Fichiers attachés

  7. #7
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Il y a une solution simple : poser un filtre sur l'ensemble.
    Tu sélectionnes tout ton tableau (A1:T19).
    Ruban Données > Icone Filtrer

    Ensuite, il te suffira d'appuyer sur le petite flèche qui est apparue dans la colonne Lundi (par exemple) et d'enlever la coche de "Vide" pour qu'il ne reste plus affiché que les plats du Lundi.
    Idem pour les autres jours.

    Cerise sur le gâteau, tu pourras aussi faire des filtrages sur les allergènes.
    Par exemple, si un jour tu as à table un allergique au lait et un allergique à la moutarde, il te suffira de cliquer respectivement sur les petites flèches de ces ceux colonnes, de décocher le "oui" et tu auras la liste des plats ne provoquant pas ce type d'allergie.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  8. #8
    Futur Membre du Club
    Femme Profil pro
    stagiaire
    Inscrit en
    Avril 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : stagiaire

    Informations forums :
    Inscription : Avril 2015
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Je connaissais déjà cette astuce, et je voulais pas l'utiliser. Certes elle reste pratique mais elle ne convient pas à ce que je souhaiterai...
    Il n'y pas une méthode par formule?

  9. #9
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par anniie Voir le message
    elle ne convient pas à ce que je souhaiterai...
    On peut savoir pourquoi ?
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  10. #10
    Futur Membre du Club
    Femme Profil pro
    stagiaire
    Inscrit en
    Avril 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : stagiaire

    Informations forums :
    Inscription : Avril 2015
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Menhir Voir le message
    On peut savoir pourquoi ?
    En fait je voulais avoir une ou plusieurs fiches par menu en regroupant tous les jours de la semaine. Pour que je puisse par la suite imprimer cette fiche.
    Certes la méthode du filtre est efficace mais ce n'est pas très esthétique.
    Ce n'est pas très clair ce que je dis, mais je ne vois pas comment l'expliquer...

    Mais l'idée du filtre me donne une idée... Il n'y a pas moyen d'extraire les données du tableau?

  11. #11
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 729
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 729
    Points : 28 555
    Points
    28 555
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Mais l'idée du filtre me donne une idée... Il n'y a pas moyen d'extraire les données du tableau?
    Bien entendu. Soit en faisant un Copier/Coller des lignes filtrées par le filtre simple soit en utilisant le filtre avancé qui permet d'extraire les données répondant aux critères.
    A lire éventuellement Les filtres avancés ou élaborés dans Excel
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  12. #12
    Futur Membre du Club
    Femme Profil pro
    stagiaire
    Inscrit en
    Avril 2015
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : stagiaire

    Informations forums :
    Inscription : Avril 2015
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,

    Bien entendu. Soit en faisant un Copier/Coller des lignes filtrées par le filtre simple soit en utilisant le filtre avancé qui permet d'extraire les données répondant aux critères.
    A lire éventuellement Les filtres avancés ou élaborés dans Excel

    Tout fonctionne parfaitement bien =)
    Merci à vous tous =)

Discussions similaires

  1. Réponses: 13
    Dernier message: 04/05/2015, 14h43
  2. Réponses: 2
    Dernier message: 25/04/2013, 10h37
  3. [XL-2010] Recherche dans une plage de données
    Par pimpmyride dans le forum Excel
    Réponses: 6
    Dernier message: 18/02/2013, 17h17
  4. [XL-2003] Rechercher une variable dans une plage de données
    Par gandalf20000000 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 03/11/2009, 12h56
  5. recherche dans une plage de données avec filtre
    Par depi67 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/10/2008, 15h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo