Recherche X dans une cellule avec plusieurs elements

Salut!

J'ai besoin d'aide... s'il vous plait!

J'ai une cellule avec différents éléments et je souhaite utiliser la fonction Recherche X dans celle cellule.

Je n'y suis pas arrivée. Cependant j'ai trouvé une autre solution.

J'ai d'abord divisé les éléments de ma cellule par élément et ensuite j'ai effectué la recherche X sur plusieurs colonnes.

Y-a t'il une solution plus simple?

J'ai un autre souci: je fais la recherche X dans un fichier excel qui contient 4000 lignes. Il en résulte que toute manipulation dans le ficher où se trouve la formule est très lente.

Y-a t'il une solution?

Je vous ai mis les 2 fichiers en question en pièces jointes.

En vous remerciant pour votre aide!

bonjour Tulipe11,

pour commencer j'ai nommé la plage "D1:D6388" de gadsl_ref, comme çà, il ne faut pas chercher après cette dernière ligne (seulement 6388 des +1.048.000 cellules = 0.6% à multiplier avec autant de fois)

maintenant vous avez 2 methodes

- colonnes N:U avec vos colonnes C:M

- colonne W directement avec colonne A = =LET(sp;TEKST.SPLITSEN(A2;CAR(10));SIERREUR(EQUIV(sp;'gadsl-reference-list.xlsx'!CAS_RN;0);"Not in GADSL")) (mauvaise traduction)

Bonjour Barft,

et merci beaucoup pour tes solutions!

Ceci dit j'aimerai bien comprendre comment tu as fait.

Tu as renommer la plage D:2-D:3688, comment as tu fait? Quel est le nom?

J'ai besoin de pouvoir refaire la manipulation, car cette liste est actualisée régulierement et très rapidement je ne pourrais plus l'utiliser...

Est ce grace au fait de renommer la longue plage qui fluidifie le travail dans le fichier?

Peux tu stp m'expliquer ton commentaire: (seulement 6388 des +1.048.000 cellules = 0.6% à multiplier avec autant de fois).

Que represente "sp"?

Merci beaucoup pour tes détails!

je vois que vous avez déjà utilisé des plages nommées, donc je ne dois plus expliquer cela.

j'ai maintenant 2 plages nommées

1. DernLigne =MAX(SI('Reference List '!$D:$D<>"";LIGNE('Reference List '!$D:$D);0)) >>> la dernière ligne non-vide de la colonne D de "Reference Liste", ici donc 6388. Si vous ajoutez ou supprimer des lignes, ce chiffre peut changer.

2. CAS_RN =DECALER('Reference List '!$D$1;;;DernLigne;) >>> la plage de D1 jusqu'à la dernière cellule non-vide, donc ici D6388.

Puis dans le fichier "Recherche ..."

on doit choisir une des 2 solutions (pour gagner du temps)

1. colonnes N:U la formule est =SI(C2<>"";SIERREUR(EQUIV(C2;'gadsl-reference-list.xlsx'!CAS_RN;0);"Not in GADSL");"no CAS"), donc si la cellule n'est pas vide, on cherche le contenu dans cette plage nommée "CAS_RN" de "Gadsl-reference"

2. formule pour excel365 dans la colonne W

=LET(
sp;TEKST.SPLITSEN(A2;CAR(10));
SIERREUR(EQUIV(sp;'gadsl-reference-list.xlsx'!CAS_RN;0);"Not in GADSL")
)

ligne 1 : (mauvaise traduction de Tekst_splitsn) sp est le résultat intermédiaire (donc uniquement dans la mémoire d'Excel) de séparer cellule par cellule de la colonne A avec le saut de ligne, donc pareil à vos cellules C:M, pour A2 donc un élément, pour A4 3 éléments

ligne 2 : avec chaque élément de sp (ici dessus) on fait ce calcule "EQUIV(sp;'gadsl-reference-list.xlsx'!CAS_RN;0)", donc pareil aux formules des colonnes N:U et si le résultat est une erreur, on met "Not in GADSL"

nouvelle fichier "Gadsl..."

merci pour tes explications!

Bonjour à tous !

Une proposition en N2 ? :

=RECHERCHEX(FRACTIONNER.TEXTE(A2;CAR(10));tCas;LIGNE(tCas);"Not in GADSL")

Avec tCas : Intégration dans le classeur "recherche-complexe.xlsx" du champ CAS RN (classeur gadsl-reference-list.xlsx) via Power Query dans un tableau structuré nommé tCas

re,

je ne sais pas si les macos sont permis, autrement chez moi, sans ouvrir ce fichier "GADSL...", je fais une mise à jour en 1.5 sec. Se mise à jour ce fait automatiquement si vous ouvrez ce fichier ou si vous le demandez.

PS. il faut corriger le chemin du fichier "GADSL..." dans l'editeur VBA.

Rechercher des sujets similaires à "recherche elements"