Microsoft 365 [RESOLU]Fonctionnement de RECHERCHEX lorsque valeur_cherchée est une plage.

Astragor

XLDnaute Nouveau
Bonjour le forum,
J'ai par hasard appris qu'on pouvait utiliser des plages sur quasi toutes les fonction excel plutot que de faire une fonction sur un ligne et la recopier.
(Ainsi si je veux recopier la plage A2:A4 à partir a partir de B2, en il suffit d'écrire =A2:A4. Bref ca marche dans plein de cas)

Le problème est que la fonction rechercheX ne se comporte pas comme elle devrait se comporter.

Ainsi supposons qu'en feuille 1 de mon classeur j'ai le tableau de reference suivant :
Screenshot_1.png


En feuille 2 j'ai mon tableau sur lequel je vais faire la recherche

Screenshot_2.png



Si j'utilise une recherche classique et que je recopie vers le bas, ca marche
Code:
=RECHERCHEX(A2;Feuil1!A:A;Feuil1!B:C)

Screenshot_3.png


Par contre si je fais ma recherche en utilisant la plage comme valeur cherchée, seule la première référence est renvoyée.
Code:
=RECHERCHEX(A2:A11;Feuil1!A:A;Feuil1!B:C)

Screenshot_4.png




la fonction ne me retourne qu'une colonne au lieu de 2.


Alors vous allez me dire, tu n'as qu'a utiliser la premier solution.

Mais voila

En ce moment je suis en train d'écrire une série de macro qui doivent s’exécuter sur différent tableau dont certains sont très lourds (Entre 30 000 lignes et 100 000 lignes selon le tableau).

Si je fais une boucle for pour remplir mon tableau la macro met plusieurs minutes à calculer tandis qu'avec cette méthode le calcul se réaliserait en quelques secondes.

Aussi si quelqu'un à déjà réussi a faire fonctionner la fonction rechercheX dans ce contexte je serais très intéressé.
 

Astragor

XLDnaute Nouveau
Bon je me réponds à moi même, en fait en cherchant j'ai trouvé la soluce, pas à la question que j'ai posé mais au problème initial qui m'avait amené à poser cette question...
Au lieu d’introduire mon XLOOKUP dans une boucle for il suffit que je fasse un
Code:
Range("B2:B11").Formula2 ="=XLOOKUP(....)"
 

Discussions similaires

Réponses
5
Affichages
243

Membres actuellement en ligne

Statistiques des forums

Discussions
312 104
Messages
2 085 349
Membres
102 869
dernier inscrit
radyreth