Excel - RechercheV

jerome334s Messages postés 91 Statut Membre -  
PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   -
Bonsoir,
je reporte grâce à la recherche V les tarifs d'une base de donnée "=RECHERCHEV(C15;BDD!$A$20:$D$5000;4;FAUX)", les formules fonctionnent parfaitement.. mais seulement sur certaines références de ma liste et pas sur d'autres, je ne comprends absolument pas pourquoi. Format de cellule identique, écriture identique.. par exemple le report de cette réforme "4903-16" fonctionne mais "3964-29-01" pas celle la. Est-ce à cause de la structure? comment y remédier?
Merci d'avance.

16 réponses

  1. DjiDji59430 Messages postés 4278 Date d'inscription   Statut Membre Dernière intervention   717
     
    Bonjour à tous,

    On parle dans le vide !
    Mets donc ton fichier "en panne" sur cijoint, que les intervenants puissent t'aider !

    Crdlmt
    1
  2. DjiDji59430 Messages postés 4278 Date d'inscription   Statut Membre Dernière intervention   717
     
    Bonjour,

    Un fichier EXCEL (test ou non), complété par des explications exhaustives et des exemples remplis à la main, mis sur https://www.cjoint.com/ , ainsi que ta version d'Excel, permettrait aux intervenants de répondre plus précisément à ta question.
    Crdmt
    0
  3. Raymond PENTIER Messages postés 58216 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    Bonjour.

    C'est peut-être à cause de la structure, mais peut-être aussi à cause des saisies, même si tu as l'impression que les écritures sont identiques ; mais as-tu pensé aux espaces ?
    Et pour y remédier, il faudrait déjà savoir en quoi "les formules fonctionnent parfaitement.. mais seulement sur certaines références " ; il s'affiche un message d'erreur ? le résultat n'est pas celui attendu ?
    On attend ton fichier ...

    0
  4. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bnjour
    pouvez vous vérfifier fonctionnement de votre formule en copiant en C15 la valeur cherchée et la collant dans la liste du champ de recherche
    Si ça fonctionne comme ça, c'est que dans la liste, votre valeur ou le format ne sont pas identiques
    crdlmnt

    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jerome334s Messages postés 91 Statut Membre 1
     
    Bonjour,
    Merci pour vos retours. J'ai essayé et ça ne fonctionne toujours pas. J'ai créé un exemple:

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

    Merci d'avance
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Heu....!!!
      votre formule de recherche s'arrête à la ligne 20 et votre code est sur la ligne 21
      crdlmnt
      0
  7. jerome334s Messages postés 91 Statut Membre 1
     
    Aussi, j'aimerais bien ne pas faire apparaitre #N/A sur les cases vides **
    Merci beaucoup
    Jérôme
    0
  8. Raymond PENTIER Messages postés 58216 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    Bonjour Jérôme.

    Le fichier exemple ne contient ni la donnée "4903-16" ni la donnée "3964-29-01".
    Ta première formule =RECHERCHEV(C15;BDD!$A$20:$D$5000;4;FAUX) était intéressante, puisqu'allant jusqu'à la ligne 5000 ; malheureusement ta nouvelle formule =RECHERCHEV(E3;B1:C20;2;FAUX) ne te permet pas de trouver la donnée "3964-29-09" qui est en ligne 21, comme te l'a signalé Vaucluse : si tu remplaces ce "20" par n'importe quel nombre plus grand, ta formule en F3 fonctionne !

    Et pour répondre à ta demande sur le message d'erreur #N/A, la formule de ton exemple doit devenir
    =SIERREUR(RECHERCHEV(E3;B1:C9999;2;FAUX);"")
    ; et la formule de ton vrai fichier doit devenir
    =SIERREUR(RECHERCHEV(C15;BDD!$A$20:$D$5000;4;FAUX);"")
    ...

    Cordialement.
    0
  9. jerome334s Messages postés 91 Statut Membre 1
     
    Bonsoir, oui en effet j'ai fait une erreur sur ma page test.
    Le problème est que je ne peux pas partager le tableau complet alors j'ai copier/coller sur un nouveau classeur les feuilles et j'ai réduit le tout à quelque référence mais sur cette version ma formule fonctionne bien sur les références qui ne fonctionne pas sur le tableau d'origine.. sur mon classeur original ça ne fonctionne pas sur toutes les références, c'est plutôt incroyable. j'ai inséré une colonne dans ma base de donnée sur mon premier tableau, j'ai copier/coller toutes mes références (environ 5000) j'ai effacer la colonne d'origine et même problème, toujours quelques références en erreurs pourtant j'ai vérifier et revérifier la formule je ne comprends pas.
    Merci pour tes corrections concernant le message d'erreur.
    Je te joins des images au cas ou et je précise que la référence existe bien dans la BDD je l'ai même copier depuis cette dernière.
    https://www.cjoint.com/c/LChuZ6PpFTM
    https://www.cjoint.com/c/LChu2i6DBqM
    Merci
    Cordialement
    Jérôme
    0
  10. Raymond PENTIER Messages postés 58216 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    Jérôme, on ne peut pas rechercher et rectifier une erreur dans un fichier Excel qu'on ne peut pas manipuler.
    Tu nous montres des photos ! Difficile d'en tirer quelque chose ...
    Ta formule en D15 s'appuie sur la feuille BDD, que tu n'as pas envoyée ; je ne peux donc pas vérifier si tu as bien saisi
    [3964-29-05]
    avec 10 caractères, ou
    [3964-29-05 ]
    avec 11 caractères (l'espace final).
    Je ne peux pas non plus vérifier si ton fichier considère 3964-29-05 comme une date, le 29 mai 3964 !
    0
  11. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    bonjour
    avez vous testé ma proposition de vérification des formats, rappel
    • copier la cellule de la valeur cherchée
    • la coller valeur et format dans la base de données en remplacement de la supposée défaillante
    • et voir le résultat

    (ou dans le sens inverse, base vers recherche
    si la recherche fonctionne, c'est que le format ou le texte ne sont pas conformes entre les deux
    crdlmnt

    0
  12. jerome334s Messages postés 91 Statut Membre 1
     
    Bonsoir, oui j'avais essayé dans les deux sens, rien à faire. J'ai récupérée nouvelle version de ma base de donnée (simplifiée) chez mon fournisseur, nouveau tableau et ça fonctionne, avec même ref.. un mystère.
    Par contre j'ai désormais deux bases de données (2 feuilles) j'aimerais modifier ma formule pour que la recherche V se fasse sur ces deux feuilles, comment la construire? Je pars de "=RECHERCHEV(C14;Sheet1!$A$2:$E$5000;5;FAUX)" et je dois ajouter ma recherche dans "KPL FRK1 2022 V3!$A$2:$E$5000;4 toujours pour la ref inscrite dans C14.
    Merci d'avance pour votre aide précieuse
    cdt
    Jérôme
    0
  13. Raymond PENTIER Messages postés 58216 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    Non ! ça ne marche pas comme ça !
    Il faut trouver ce qui provoque l'erreur au départ.
    0
  14. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour tous
    on essaye avec:
    pour chercher dans l'une ou dans l'autre
    =SIERREUR(SIERREUR(RECHERCHEV(C14;Sheet1!$A$2:$5000;5;0);RECHERCHEV(C14;'KPL FRK1 2022 V3'!;$A$2:$E$5000;4;0));"")
    pour sortir les deux liées
    =SIERREUR(RECHERCHEV(C14;Sheet1!$A$2:$5000;5;0);"")&" "&SIERREUR(RECHERCHEV(C14;'KPL FRK1 2022 V3'!;$A$2:$E$5000;4;0);"")
    crdlmnt
    0
  15. Raymond PENTIER Messages postés 58216 Date d'inscription   Statut Contributeur Dernière intervention   17 482
     
    Bonjour à tous.
    Salut, ami Vaucluse.

    Le seul inconvénient de ta seconde formule est que son résultat est un texte, et pas une valeur numérique.
    Comme Jérôme voudra certainement faire des calculs à partir des prix, il faudrait , à mon avis, supprimer le
    &" "
    du milieu et placer toute ta formule à l'intérieur de CNUM( ) pour obtenir
    =CNUM( SIERREUR(RECHERCHEV(C14;Sheet1!$A$2:$5000;5;0);"") & SIERREUR(RECHERCHEV(C14;'KPL FRK1 2022 V3'!;$A$2:$E$5000;4;0);"") )
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      salut Raymond
      ma seconde formule est destinée à lier deux résultats et n'a pas la même fonction que la première, je l'ai donnée pour info, mais je ne crois pas qu'elle soit utilisable dans ce cas
      crdlmnt
      0
  16. jerome334s Messages postés 91 Statut Membre 1
     
    Bonsoir,
    Merci à vous deux. Ces formules sont complexes, je n'y arriverais pas sans vous. Excel m'embêtait avec le nom de ma feuille donc j'ai resserré les caractères.
    Désormais pour ma description j'ai: =SIERREUR(RECHERCHEV(C7;Sheet1!$A$2:$E$5000;3;0);"")&" "& SIERREUR(RECHERCHEV(C7;'KPLFRK12022V3 '!$A$2:$E$5000;3;0);"")

    Pour mes tarifs catalogues: =CNUM( SIERREUR(RECHERCHEV(C7;Sheet1!$A$2:$E$5000;5;0);"") & SIERREUR(RECHERCHEV(C7;'KPLFRK12022V3 '!$A$2:$E$5000;5;0);"") )

    Pour mes achats (en fonction des codes remise) =E7-E7*SI(D7="A";45%;SI(D7="B";35%;SI(D7="C";40%;SI(D7="D";33%;FAUX))))

    Pour mes codes remise: =SIERREUR(RECHERCHEV(C7;Sheet1!$A$2:$E$5000;4;0);"")&" "& SIERREUR(RECHERCHEV(C7;'KPLFRK12022V3 '!$A$2:$E$5000;4;0);"")

    Erreurs restantes:
    - Pour mes tarifs catalogues, si la case C7 est vide il affiche #VALEUR!
    - Dans la colonne "Code remises" il n'aligne pas les caractères bien que j'ai recentré tous les caractères de la colonne, (y compris dans mes bases de données), ce n'est qu'esthétique mais je suis un brin maniaque.
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      sans savoir ce que vous avez comme données, difficile de vous donner des infos, mais pour quelques points:
      • simplifiez les libellés dans les formules en nommant les plages que vous utilisez avec des noms simples et utilisez les noms dans vos formules (par exemple remplacer l'ensemble 'KPLFRK12022V3'!$A$2:$A$5000 par KPL) voir ruban / formule / définir un nom
      • pour les affichages valeurs si C7 est vide, encadrer l'ensemble de votre formule en doublant les SIERREUR

      =SIERREUR(SIERREUR(formule1);"")&SIERREUR(formule 2);"");"")
      • pour les alignements, sans connaître vos données on ne pourra rien vous proposer

      si vous pouvez déposez votre modèle ici
      https://www.cjoint.com/
      et revenez coller le lien créé sur le site
      crdlmnt
      0
  17. jerome334s Messages postés 91 Statut Membre 1
     
    Bonsoir,
    Merci bien, abréger les formules est très interessant.
    Pour les valeurs ça me donne =CNUM(SIERREUR(SIERREUR(RECHERCHEV(C8;Sheet1;5;0);"")&SIERREUR(RECHERCHEV(C8;KPL;5;0);"");"")) mais ne fonctionne pas, même si je triple, j'ai du mal.
    Merci encore, excellent week-end
    Jérôme
    0
    1. PapyLuc51 Messages postés 4569 Date d'inscription   Statut Membre Dernière intervention   1 511
       

      Bonjour jerome334s

      Il semblerait que ce sujet soit en rapport avec cette nouvelle question !!

      Cordialement

      0