Fonction RECHERCHE avec plages dynamiques

papypog

XLDnaute Occasionnel
Bonjour,
Petit souci avec la fonction RECHERCHE et plages dynamiques dont les noms ont été définis via la fonction DECALER.
Je m’explique dans mon tableau j’ai plusieurs plages dynamiques qui correspondent aux différentes colonnes.
Ma formule se compose ainsi
=RECHERCHE($A$99;$A$2:$A$95;$C$2:$C$95)
En remplaçant le vecteur recherche par son nom de plage associé le résultat est OK
=RECHERCHE($A$99 ;code;$C$2:$C$95)
Si avec la fonction RECHERCHE j’utilise le nom des plages pour le « vecteur résultat » j’ai un message d’erreur m’indiquant des références circulaires.
=RECHERCHE($A$99 ;code ;nom)
Quelqu’un peut-il m’expliquer ce qui se passe ?
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Fonction RECHERCHE avec plages dynamiques

Bonjour papypog,

la formule ne me semble pas correcte,
voir fichier joint ................... si j'ai bien compris la question posée :confused:

à+
Philippe

Edit: Bonjour Gérard
 

Pièces jointes

  • 111.xlsx
    12.8 KB · Affichages: 39
  • 111.xlsx
    12.8 KB · Affichages: 42
  • 111.xlsx
    12.8 KB · Affichages: 43
Dernière édition:

papypog

XLDnaute Occasionnel
Re : Fonction RECHERCHE avec plages dynamiques

Re,

Merci pour vos réponses.

La formule "DECALER" pour nommer les plages est bonne car la fonction "ATTEINDRE" me sélectionne bien les bonnes plages, c'est lorsque j'utilise le nom de la plage pour le "Vecteur résultat" de la fonction "RECHERCHE" que se pose le problème.
Comme dit précédemment le nom de la plage utilisé pour le "Vecteur recherche" fonctionne parfaitement.

Je reviens dans un moment pour vous donner un fichier exemple plus léger que l'original.
 

papypog

XLDnaute Occasionnel
Re : Fonction RECHERCHE avec plages dynamiques

Re,

Voici le fichier exemple.

Etrange, si je saisis les formules dans les cellules B8 et C8 j'ai le message d'erreur alors que si je saisis les mêmes formules dans les cellules C8 et D8 cela fonctionne.
 

Pièces jointes

  • test.xlsx
    9.3 KB · Affichages: 33
  • test.xlsx
    9.3 KB · Affichages: 40
  • test.xlsx
    9.3 KB · Affichages: 41

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Fonction RECHERCHE avec plages dynamiques

Re,

le message d'erreur vient du fait que si la formule se trouve en B, elle est prise en compte dans la zone mommée

pour le fun, une solution par macro

à+
Philippe
 

Pièces jointes

  • 111.xlsm
    17 KB · Affichages: 49
  • 111.xlsm
    17 KB · Affichages: 48
  • 111.xlsm
    17 KB · Affichages: 34

papypog

XLDnaute Occasionnel
Re : Fonction RECHERCHE avec plages dynamiques

@phlaurent

Merci pour la réponse et pour le code vba (je note).

Il y a pourtant quelque chose que je ne m'explique pas. Lorsque l'on utilise la fonction DECALER il ne doit pas y avoir de cellules de vides dans la sélection, donc en insérant une ou plusieurs lignes entre la sélection et la formule cette dernière ne devrait pas être prise en compte dans la sélection, (elle ne l'est pas puisque le contrôle de la sélection est bon) mais j'ai tout de même le message d'erreur. confused::confused::confused:
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Fonction RECHERCHE avec plages dynamiques

Re,

il faut tenir compte du nombre de valeur en colonne A pour la zone nommée "nom"

remplacer:
=DECALER(Feuil1!$B$2;;;NBVAL(Feuil1!$B:$B)-1;)

par:
=DECALER(Feuil1!$B$2;;;NBVAL(Feuil1!$A:$A)-2;)

............ et le problème est résolu, la formule RECHERCHE pourra retourner en colonne B

à+
Philippe
 

Pièces jointes

  • 111.xlsx
    8 KB · Affichages: 35
  • 111.xlsx
    8 KB · Affichages: 38
  • 111.xlsx
    8 KB · Affichages: 41
Dernière édition:

Discussions similaires