Recherche précise sur plusieurs critères - BIS

clippy38 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -  
clippy38 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,
VIA55 m'a beaucoup aidé pour mon dernier sujet. J'ai mis le temps à mettre en oeuvre tes conseils (si tu me lis, encore merci), mais aujourd'hui j'ai encore un souci avec l'application de cette fonction. J'explique tout dans le fichier joint. Le problème se trouve dans le bas du tableau. J'ai entouré de noir le problème.
Merci a tous de votre aide.

https://www.cjoint.com/c/GJoojShbTud

7 réponses

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour clippy

    Je ne comprends où il y a problème, quand tu inscris un nom en I20 il ne s’inscrit rien en G20 car il n'y a pas de formules en G20 et si toi même tu inscris Paul en G20 ou Valérie c'est bien à chaque fois leur n°s respectifs qui s'affichent en G21 grâce à la formule INDEX

    Ce qu'on pourrait apporter comme modification c'est une liste déroulante en G20 pour choisir le nom (fondée sur la base) et une liste déroulante pour choisir ensuite le prénom
    Ou pour éviter 2 choix ne faire qu'une cellule G20 avec le nom et le prénom et choisir dans une liste déroulante

    Dis moi ce que tu en penses

    Cdlmnt
    Via
    0
  2. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Re

    Un exemple avec liste déroulante de choix :
    https://mon-partage.fr/f/YRUnVOLI/
    0
  3. clippy38 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonsoir Via
    Le problème c'est que le même nom et prénom peut avoir 2 numéros d'accord pour 2 formations différentes. Une formation est terminée et a donc une date de facturation. Si je dois aujourd'hui facturer la 2ième formation, je voudrais que s'affiche le bon numéro d'accord, c'est-à-dire celui qui est en cours.
    Voir le fichier joint, en espérant que ce sera explicite.
    Merci par avance.

    https://www.cjoint.com/c/GJqsRwRWfXd
    0
  4. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonsoir clippy

    On peut se baser sur la date de fin de formation, si elle est vide on affiche rien comme n° d'accord
    et en rajoutant une gestion d'erreur on peut faire afficher aussi du vide pour une action déjà réglée au lieu du disgracieux #N/A
    Remplace la formule en G21 par celle-ci
    =SIERREUR(SI(INDEX(BASE!H:H;EQUIV(FACTURE!G20;BASE!A:A&" "&BASE!B:B&BASE!K:K;0))="";"";INDEX(BASE!D:D;EQUIV(FACTURE!G20;BASE!A:A&" "&BASE!B:B&BASE!K:K;0)));"")
    toujours matricielle donc à valider par Ctrl+Maj+Entrée

    Cdlmnt
    Via
    0
    1. clippy38 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour VIA,
      Désolé pour l'absence mais quelques soucis de santé m'ont éloigné de mes activités ce dernier trimestre, et je n'avais pas trop la tête à Excel !!! Me revoilà en forme, et reparti sur mon fichier. J'ai pas mal avancé en suivant scrupuleusement vos instructions. Avec quelques difficultés, mais j'avance. Pas facile facile d'entrer dans INDEX et EQUIV. Mais c'est très intéressant.
      Je vous joins mon fichier. Mes commentaires y sont détaillés. Je coince sur une autre pb. Peut-être cela vous semblera facile, moi je coince !!!!
      Merci pour votre aide.
      Cordialement

      https://www.cjoint.com/c/HAzrMJHQLeF
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonsoir clippy

    En E24 : =INDEX(Facturation!E:E;EQUIV(Facture!F21;Facturation!F:F;0)) devrait faire l'affaire
    Par contre je ne peux pas vérifier si la formule précédente fonctionne , je n'ai pas de liste déroulante

    Cdlmnt
    Via
    0
    1. clippy38 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
       
      La liste faisait appel à un nom du fichier complet. J'ai refait une liste sur la feuille "Facturation", ça devrait coller

      Alors d'abord un grand merci ! c'est parfait pour ce champ !
      Mais plus j'avance, et plus je recule comme dirait l'autre. Pour simplifier mes propos, voici mes dernières impressions après plein de manipulations pour tester ce fichier.
      1- le travail consiste à renseigner la feuille "facturation". C'est ma base de saisie. Puis, dans la feuille "Facture", il doit me suffire de choisir le nom du stagiaire dans la liste déroulante et tous les autres champs sont automatiquement remplis.
      Et il y a un hic de taille. Quand tous les champs sont renseignés, le numéro d'accord n’apparaît plus !! Dans la feuille "Facturation" seul le champ "Payé le" reste vide et c'est logique bien sûr puisque la facture est toute fraîche.
      Et comme le numéro d'accord ne s'affiche plus, il y a les erreurs en cascade ("type de formation", "code cpf")
      J'ai testé sur BARONE Isabelle. Tant que je ne saisis pas la fin de formation, ça passe. Après ça pose pb. Et pourtant, je dois saisir toutes les infos de facturation dans la base "Facturation". Le reste n'est que remplissage automatisé...normalement.

      Cette fois-ci, je pense que tes neurones vont un peu plus chauffer !!
      Cordialement

      https://www.cjoint.com/c/HAztRcMlA4F
      0
  7. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Re,

    La formule en F21 doit être :
    =SIERREUR(SI(INDEX(Facturation!I:I;EQUIV(F20;Facturation!C:C&" "&Facturation!D:D&Facturation!M:M;0))="";"";INDEX(Facturation!F:F;EQUIV(F20;Facturation!C:C&" "&Facturation!D:D&Facturation!M:M;0)));"")
    toujours matricielle donc valider avec CtRL+MAJ+Entree

    Pour les n) de facture et la date tu ne peux pas passer par des Recherchev basées sur le nom puisqu'il peut y avoir plusieurs noms identiques, passe par des INDEX EQUIV basés sur le n° d'accord qui est unique, ainsi pour la date cela donnera comme formule :
    =SI(F21="";"";INDEX(Facturation!K:K;EQUIV(F21;Facturation!F:F;0)))
    Faire la même chose pour le n° de facture en changeant la référence K:K
    0
    1. clippy38 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
       
      Merci infiniment. Je vais mettre tout ça en application ce week-end et je te tiens au courant.
      Bon week-end
      0
    2. clippy38 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
       
      Bonjour VIA
      J'ai des soucis avec ta formule. Je pense que tu as fait erreur dans les références de colonnes, non ?

      J'ai bien décortiqué le raisonnement de INDEX et EQUIV, ta formule fonctionne si je modifie quelques ref comme ci-dessous :

      =SIERREUR(SI(INDEX(Facturation!I:I;EQUIV(F20;Facturation!D:D&" "&Facturation!E:E&Facturation!N:N;0))="";"";INDEX(Facturation!G:G;EQUIV(F20;Facturation!D:D&" "&Facturation!E:E&Facturation!N:N;0)));"")

      Par rapport à ta fonction :
      =SIERREUR(SI(INDEX(Facturation!I:I;EQUIV(F20;Facturation!C:C&" "&Facturation!D:D&Facturation!M:M;0))="";"";INDEX(Facturation!F:F;EQUIV(F20;Facturation!C:C&" "&Facturation!D:D&Facturation!M:M;0)));"")
      j'ai modifié la dernière référence. Tu allais chercher M:M (la date d'envoi - alors qu'elle est toujours renseignée lorsque je remplis la facture), et moi je vais chercher N:N , le champ "Payé le". Ce champ reste vide jusqu'au règlement de la facture, c'est-à-dire 3 à 4 semaines plus tard.
      j'ai aussi modifié les références aux colonnes NOM & Prénom, mais là j'ai bien compris que tu saturais sur ce sujet !!!!!!!!!!!!!!!!!!!!!!!!!

      Qu'en penses-tu ? Comme je l'ai modifiée, elle semble bien fonctionner. Je l'ai testée à plusieurs reprises avec des noms différents et je n'ai pas vu apparaître d'erreur.
      0
  8. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    Je pense que je n'ai pas travaillé sur la dernière version du fichier (tu as du modifier des colonnes) puisque dans le fichier joint à ton post 7 Payé le est bien en colonne M mais ce n'est pas grave puisque tu as su rectifier et que la formule fonctionne
    Idem pour les références Nom Prénom, je ne saturais pas mais je te laissais un peu de boulot ☺

    A voir à l'usage le bon fonctionnement.Tiens moi au courant

    Cdlmnt
    Via
    0
    1. clippy38 Messages postés 27 Date d'inscription   Statut Membre Dernière intervention  
       
      c'est ce que je pensais, une version ancienne du fichier.
      Merci pour ta patience et tes très bons conseils. Je continue à bosser sur ce fichier et je te tiens au courant.
      Bon week-end
      0