Problème recherche V excel

Résolu
AUDREYLAB Messages postés 55 Statut Membre -  
AUDREYLAB Messages postés 55 Statut Membre -

Bonjour

sur mon fichier à partir de la ligne 50 j ai des formules recherche v mais la table matrice (onglet liste déroulante) n'est pas figée on est amené à insérer ou supprimer des lignes et là c'est la cata dans la recherche V de la feuille 1 au lieu d avoir en 

B50: =RECHERCHEV($B$21;'liste déroulante'!2:2;2;FAUX)

B51 =RECHERCHEV($B$21;'liste déroulante'!3:3;2;FAUX)

B52=RECHERCHEV($B$21;'liste déroulante'!4:4;2;FAUX)

je me retrouve soit avec

B50: =RECHERCHEV($B$21;'liste déroulante'!2:2;2;FAUX)

B51=RECHERCHEV($B$21;'liste déroulante'!#REF!;2;FAUX)

B52=RECHERCHEV($B$21;'liste déroulante'!4:4;2;FAUX)

soit avec

B50: =RECHERCHEV($B$21;'liste déroulante'!2:2;2;FAUX)

B51=RECHERCHEV($B$21;'liste déroulante'!#REF!;2;FAUX)

B52=RECHERCHEV($B$21;'liste déroulante'!3:3;2;FAUX)

ce qui est moins dramatique que le premier résultat car ma ligne 3 est bien reprise alors que dans l'autre cas elle disparait carrément.

Y a t il une solution pour ne pas corrompre les formules de recherche lorsque des lignes sont insérées ou supprimées de la table matrice

https://www.cjoint.com/QS_MODELE-FICHIER.xlsm

merci d avance

Cdt

7 réponses

Résumé de la discussion

Le problème survient lorsque les lignes de la table matrice peuvent être insérées ou supprimées, ce qui déplace les références fixes (2:2, 3:3, 4:4) et peut générer des erreurs #REF!. Une solution robuste consiste soit à convertir la matrice en Table et à utiliser une approche INDEX/MATCH plutôt que RECHERCHEV, soit à employer une plage nommée dynamique pour éviter les références figées. Par exemple, avec une plage nommée donnees, on peut écrire =INDEX(donnees[#Tout],EQUIV($B$21;'liste déroulante'!$A:$A;0),2) et adapter pour les autres colonnes. Il est également conseillé d’éviter les cellules fusionnées, qui compliquent les calculs, et de privilégier des références structurées pour garantir la stabilité des formules lors des insertions ou suppressions de lignes.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     

    Bonjour,

    Juste au passage vos formules devraient-être de cette forme, si bien compris :

    B50=RECHERCHEV($B$21;donnees;Feuil1!2;FAUX)
    E50=RECHERCHEV($B$21;donnees;Feuil1!3;FAUX)
    

    0
    1. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
       

      Bonjour,

      Une erreur c'est glisser dans la formule, voici la bonne:

      B50=RECHERCHEV($B$21;donnees;2;FAUX)
       
      E50=RECHERCHEV($B$21;donnees;3;FAUX)
      0
  2. danielc0 Messages postés 2180 Date d'inscription   Statut Membre Dernière intervention   287
     

    Bonjour,

    Essaie, en B50 :

    =INDEX(donnees[#Tout];EQUIV($B$21;'liste déroulante'!$A:$A;0);2)

    Adapte pour les autres cellules.

    Daniel


    0
    1. AUDREYLAB Messages postés 55 Statut Membre
       

      bonjour

      merci ça fonctionne si je supprime des lignes mais le problème c'est que la recherche se fait par colonne et le résultat affiché est donc le premier trouvé qui se répercute plusieurs fois

      il faut que dans la ligne 50 de la feuille 1 la recherche se fasse sur la ligne 2 de la feuille liste déroulante

      dans la ligne 51 de la feuille 1 la recherche se fasse sur la ligne 3 de la feuille liste déroulante...

      la valeur recherchée apparait sur plusieurs lignes de la feuille liste déroulante et il faut que toutes les données trouvées dans chaque ligne de cette feuille se répercutent sur la feuille 1

      0
    2. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476 > AUDREYLAB Messages postés 55 Statut Membre
       

      Bonjour,

      Il serait plus simple de mettre manuellement les résultats à obtenir sur votre fichier exemple

      Dans votre formule vous rechercher la correspondance pour $B$21          ce qui ne correspond pas à votre dernière explication...!                               

      0
    3. AUDREYLAB Messages postés 55 Statut Membre > AUDREYLAB Messages postés 55 Statut Membre
       

      si je fais un mix de votre formule et la mienne pour une recherche par ligne en mettant par exemple dans la cellule B50 de la feuille 1 pour une recherche en ligne 4 de la feuille liste déroulante =INDEX(donnees[#Tout];EQUIV($B$21;'liste déroulante'!4:4;0);2) le résultat affiché n'est pas ce que contient la cellule de la quatrième ligne de la deuxième colonne mais l’entête de la deuxième colonne

      0
    4. danielc0 Messages postés 2180 Date d'inscription   Statut Membre Dernière intervention   287 > AUDREYLAB Messages postés 55 Statut Membre
       

      Bonjour à tous,

      Ca aiderait aussi d'écrire en toutes lettres ce que tu cherches à obtenir avec deux ou trois exemples à la clé.

      Daniel

      0
    5. AUDREYLAB Messages postés 55 Statut Membre > Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention  
       

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

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

      voici deux exemples avec une valeur de recherche différente en B21 et le résultat souhaité en feuille 1 dans le tableau à partir de la ligne 50, j ai filtré les résultats affichant #N/A

      pas toujours facile d'expliquer par écrit ce qu'on cherche à obtenir , désolée

      0
  3. AUDREYLAB Messages postés 55 Statut Membre
     

    merci je n'ai pas la même version chez moi qu'au travail donc il faudra que j'ouvre votre fichier au travail car là quand j ouvre je ne vois pas de formules mais uniquement des résultats affichés

    apparemment j'ai 2007

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

    Posez votre question
  5. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     

    Bonjour,

    J'ai un peut d'avance et voici ma proposition que vous découvrez sur le fichier ;

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

    Note: je l'ai réalisé pour les 10 premier N° de ligne. Il est aussi nécessaire de supprimer la fusion des cellules .


    0
    1. AUDREYLAB Messages postés 55 Statut Membre
       

      Bonjour

      Je prends connaissance de votre message, merci pour le temps passé, je vais regarder et reviendrai vers vous

      merci bonne journée

      0
    2. AUDREYLAB Messages postés 55 Statut Membre
       

      je viens de regarder, je ne comprends pas tout mais ça fonctionne, c'est top :-)

      merci beaucoup

      par contre pourquoi il faut supprimer la fusion de cellules? car je viens de tester en laissant les cellules fusionnées et cela fonctionne très bien aussi et au moins le texte est centré c'est mieux visuellement.

      Si je les laisse fusionnées je peux avoir un problème lors d'une certaine manip qui ne me vient pas à l'esprit tout de suite?

      j'attends quand même votre retour sur ce dernier point avant de passer la conversation en résolu

      encore merci

      0
  6. Le Pingou Messages postés 12274 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     

    Bonjour,

    Certaines formules matricielles ne font pas bons ménages avec les cellules fusionnées. Si vous voulez centrer sur plusieurs colonnes vous pouvez le faire comme suit :


    0
  7. AUDREYLAB Messages postés 55 Statut Membre
     

    MERCI BEAUCOUP c'est juste parfait

    Bonne fin de journée

    0