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 :
En feuille 2 j'ai mon tableau sur lequel je vais faire la recherche
Si j'utilise une recherche classique et que je recopie vers le bas, ca marche
Code:
=RECHERCHEX(A2;Feuil1!A:A;Feuil1!B:C)
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)
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é.
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