[excel]recherche dans un tableau

-----coco----- Messages postés 87 Statut Membre -  
wilfried_42 Messages postés 912 Statut Contributeur -
Bonjour,

voila, j'ai un tableau que je vais appeler général, et un autre que je vais appeler récap.
dans mon tableau general, j'ai des colonnes nom, produit et prix.

vous l'avez peut-etre deja compris, mais en fete, je cherche une formule, fonction ou tout ce qui peut marche pour que, dans mon tableau recap, par exemple j'entre Jean en A1, et toutes les lignes où, il y a Jean dans la colonne nom, se copie sur ma feuille...
j'ai deja essayer avec recherchev() et rechercheh(), mais il ne peut m'en donner qu'une seule ligne...

merci beaucoup a ceux qui me repondrons et a ceux qui auront chercher...
Configuration: Linux
Firefox 3.0.5

9 réponses

  1. wilfried_42 Messages postés 912 Statut Contributeur 245
     
    re:

    il existe des formules matricielles.

    exemple : =Petite.valeur(si(Feuil2!A1:A100=Feuil1!A1;ligne(A1:A100);9^9);ligne()-1)

    te donnera, ligne apres ligne les diferents index d'une valeur en Feuil1!A1 sur une liste de valeur en Feuil2!A:A100

    c'est pour cela que je t'ai demandé de joindre ton classeur
    2
    1. -----coco----- Messages postés 87 Statut Membre 25
       
      pourquoi apres = tu as mis Petite.valeur ??

      j'ai essaye d'adapter ta formule, et je tombe sur une erreur 501 ??
      0
    2. -----coco----- Messages postés 87 Statut Membre 25
       
      et puis je ne sais pas comment joindre quelque chose...^^
      0
  2. wilfried_42 Messages postés 912 Statut Contributeur 245
     
    Ton tableau général en Feuil1
    En feuil2, cellule A1 ta référence : Jean

    En A2 : Formule Matricielle à valider an Appuyant simultanément sur Ctrl + Maj + Entrée
    ---------- Si la validation est correcte, des {} encadreront automatiquement la formule

    En A2 :
    =Index(Decaler(Feuil1!$A$1:$A$100;0;colonne()-1);Petite.valeur(Si(Feui1!$A$1:$A$100=$A$1; ligne($A$1:$A$100);9^9);ligne()-1))

    Tirer la formule vers la droite et vers le bas
    Explication :
    Si(Feui1!$A$1:$A$100=$A$1; ligne($A$1:$A$100);9^9) va creer une matrice avec les n° de ligne si la valeur est bonne et va mettre 9^9 si la valeur n'est pas bonne
    cette matrice sera utilisée par petite.valeur
    Petite.Valeur(matrice; ligne()-1) ' La formule etant en A2, Ligne() aura la Valeur 2, -1 Donne 1 . En tirant la formule vers le bas, les valeur seront successivement 1,2,3........... donc on recuperera dans l'odre du tableau les différentes lignes
    Decaler(Feuil1!$A$1:$A$100;0;colonne()-1) ' Permet seulement de definir dans quelle colonne on va récuperer le renseignement, ce la permet seulement de n'avoir qu'une formule pour toutes les colonnes

    En final on aura : Index(Montablo;petite.valeur(MaMatrice;Ligne))

    je ne sais pas si je suis tres clair, M'enfin

    La formule donnée n'est pas testée
    Pour joindre un fichier tu le places sur cjoint.com et tu postes le lien ici
    1
    1. -----coco----- Messages postés 87 Statut Membre 25
       
      juste une question a tout hasard, on s'eloigne du sujet, mais est-ce que c'est possible d'ajouter dans une cellule un bout de code (c/c++, java, php...)merci ??
      0
      1. -----coco----- Messages postés 87 Statut Membre 25 > -----coco----- Messages postés 87 Statut Membre
         
        je dois y aller...si tu as une solution, merci...s'il te plait est-ce que tu pourrait me renvoyer le fichier modifie si tu trouve...je regarderai demain...
        en tout cas, merci beaucoup...
        0
  3. wilfried_42 Messages postés 912 Statut Contributeur 245
     
    bonjour

    avec des formules c'est faisable, elles son neanmoins complexes à réaliser, il serait souhaitable que tu postes un exemple de ton fichier (sans donnée confidentielle) afin d'avoir la structure.

    @ te lire
    0
  4. -----coco----- Messages postés 87 Statut Membre 25
     
    d'abord merci,
    je suis d'accord, j'ai essayé avec des formules, mais excel n'accepte pas d'ambrication a plus de 64 etages
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. -----coco----- Messages postés 87 Statut Membre 25
     
    j'ai mon tableau general :

    . . . . . . A . . . . . . . B . . . . . . .C
    1 . . . . Jean . . . . livres . . . .15
    2 . . . . Martin . . . cahier . . .10
    3 . . . . Jean . . . . truc . . . . . 5
    4 ....

    mais il y a plus de 100 lignes et plusieurs fois le meme nom, c'est pour ca que je cherche comment faire un recapitulatif :

    . . . . . .A . . . . . . . .B . . . . . . .C
    1. . . Jean
    2
    3. . . Jean. . . . . livres . . . . .15
    4 . . .Jean . . . . .truc. . . . . . . 5
    5...

    le Jean en A1 de ce tableau, c'est moi qui l'est marquer, et l'ordinateur m'a mis les lignes 3 et 4...excusez les points, mais il n'accepte pas les espaces repetes.

    en gros ca ressemble a ca...
    0
  7. -----coco----- Messages postés 87 Statut Membre 25
     
    personne d'autre ??
    0
    1. wilfried_42 Messages postés 912 Statut Contributeur 245
       
      tu m'as l'air rudement pressé,
      Il est 20:00, et ici il n'y a que des bénévoles qui ont aussi une vie de famille et qui ne doivent rien à personne
      0
  8. -----coco----- Messages postés 87 Statut Membre 25
     
    0
  9. wilfried_42 Messages postés 912 Statut Contributeur 245
     
    re:

    tu aurais pu le voir, suite au copier coller de la formule, un tiret est inserrer dans vale-ur, et les noms de feuille ne sont pas les mêmes c'est tout

    ton fichier en retour

    https://www.cjoint.com/?bjvjDRZpWW
    0
    1. cocotehier
       
      Bonjour,
      Belle patience !
      Bravo pour votre travail.
      0
    2. -----coco----- Messages postés 87 Statut Membre 25
       
      merci beaucoup, mais ca ne marche pas...si je tape jean sur la feuille2 en A1, il se passe rien..^^
      0
  10. wilfried_42 Messages postés 912 Statut Contributeur 245
     
    re:

    je viens de regarder le fichier que je t'ai envoyé, la formule fonctionne !

    mais comme je te l'ai dit, une formule matricielle est délicate à adapter c'est pour cela que je t'ai demander de poster un fichier exemple gardant la même structure que le réel....

    La formule que je t'ai donnée crée une matrice en fonction de plusieurs critères, d'une part tes propres matrice et d'autre part la cellule où elle se trouve (ligne(), colonne()). en fonction de la cellule où elle se trouve, le résultat est différent. comme tu peux le voir dans la formule fournie dans le fichier, bien qu'elles soient identiques, le résultat en fonction de leurs positions est différent.

    @ te lire
    0