Recherche de caractères dans 3 tableaux differents

Bonjour tout le monde,

Je reviens après une breve absence .

Bien, mon problème, est le suivant.

J'essai de chercher une réference (en texte) contenu dans une cellule, dans trois autres tableaux. Or, la réference peut etre écrite de 3 manières differentes (car ces 3 tableaux sont remplit par 3 personnes differentes).

Donc, je pensais dans un premier temps à aller chercher ces réferences à partir de leurs 10 premiers caractères.

soit en utilisant/améliorant le code:

=(GAUCHE(A1;10)="abcdefghij")*(ESTERR(DROITE(A1)*1 ))

Mes questions:

  • est ce la bonne methode
  • si oui, comment faire pour le "abcdefgij" car les références sont diferrentes et elles ne commencent pas par "abcdefghij" forcement ?

https://www.excel-pratique.com/~files/doc2/recherche_caracteres_dans_3_tableaux.zip

voilà, voilà

Merci le forum, merci tout le monde

@+

Bonjour,

Teste avec ton fichier principal ci-joint. Pour le moment, comme dans tous les 3 fichiers tu as remplis avec tous les mots cherchés, il n'y a que les réponses "VRAI".

Fichier Joint

Bonjour Raja,

J'apprécie ta réponse, mais je ne comprends pas qu'est ce que tu cherche? par ce que dans ta formule le texte recherché est " " ? donc rien en fait, et c'est pour cette raison qu'on a "VRAI" partout (si j'ai bien compris) !!!

En fait, je cherche les 10 premiers caractères d'une cellules dans les 3 trois tables externes !

voilà voilà !

Merci encore pour ton temps

@+

Re,

As-tu testé, par exemple, en supprimant une valeur dans l'un des trois fichiers le résultat du fichier central ?

Pour répondre à ta question, je recherche simplement le premier mot de chaque phrase si ce mot est contenu dans les débuts des phrase des plages qu'on recherche.

Si tu veux absolument chercher les 10 premiers caractères, je peux le modifier comme tel. Dans ce cas, en B2 ,C2 et D2 de ton fichier principal met les formules suivantes respectivement et copie vers le bas.

=NB.SI([fichier1.xls]test1!$A$2:$A$10;GAUCHE($A2;10)&"*")>0
=NB.SI([fichier2.xls]test1!$A$2:$A$10;GAUCHE($A2;10)&"*")>0
=NB.SI([fichier3.xls]test1!$A$2:$A$10;GAUCHE($A2;10)&"*")>0

Re à toi

Imagines que mes REF sont des noms, et ces dérniers sont renseignés dans les 3 tableaux de façons differentes. Genre, la personne qui est responsable du tableau 1 elle va vouloir faire les choses en bref et du coup elle va renseignée par exemple que les 1ieres valeurs telle que "reference b". Tandis que la deuxième personne fera les choses comme il faut et renseignera toute la reference et comme il faut genre "reference bleue". de meme pour le tableau 3, on peu avoir par exemple "reference bl".

Alors, mon but Raja est à partir de mon tableau central que moi je pilote (donc les REF sont renseignées comme il faut) pouvoir faire une recherchev plus tard dans ces 3 tableaux. par exemple: je dis à excel, si dans table 1, 2 ou 3 tu me trouve les 10 premiers caractères qui correspondent à la ref "x" tu me rappatrie le taux y (par exemple) qui lui correspond !!

Est ce que tu vois ce que je veux dire?

@+

Re,

Regarde à nouveau un fichier avec une légère modification de l'entête des colonnes :

Fichier Joint

Ce tableau tient compte de la recherche des 10 premiers caractères avec une harmonisation de la formule de recherche en une seule au lieu de trois.

J'ai vu ton dernier post après celui-ci. Le conseil que je peut te donner, c'est d'harmoniser les termes pour rechercher les données identiques en créant toi même les termes à saisir(c'est ce qu'on appelle les saisies guidées). C'est possible par une bibliothèque de termes à créer dans un coin d'un fichier d'utilisateur(d'ailleurs c'est la même base que dans ton fichier central). Et par une validation des données, tu laisse la possibilité de choisir exactement le terme que tu attends de la part des utilistateurs. Les utilisateurs cliquent sur la liste déroulante pour choisir le terme à mettre dans une colonne. C'est la meilleure solution.

Re à toi Raja ,)

En fait, qu'est ce qu'elle a cette modif de plus que la dérnière formule? car les deux marchent trés bien!

y a t il un autre moyen de faire les choses sont la fonction NB.SI, car je ne veux pas que mes 3 fichiers soient toujours ouverts au depart !

J'aurais aimé savoir si tu pouvais m'expliquer

(INDIRECT("["&B$1&".xls] ?

)&"*")>0 ?

Merci encore et @+

Re,

La première formule est différente, certes un chouillard, à chaque colonne(C,D et E), disons que tu ne peux pas copier la même formule partout dans les 3 colonnes du fait que les noms des classeurs écrits en chaîne de caractères constantes. Crois-moi, ça de l'importance. La 2è, grâce au changement de l'entête de la colonne, on a pu harmoniser ces formules en une en prenant compte de l'entête de la colonne(fichier1,fichier2 etc.) comme une variable.

La formule INDIRECT, comme son nom indique, donne accès de façon indirecte(si jamais tu as entendu parler des POINTEURS vaguement quelque part au cours des leçons de programmtion, on ne sait jamais) à une référence(cellule, plage, feuille, classeur etc)

En bref, pour résumer, quand on fait une formule suivante dans une cellule soit C1 :

=A1

on accède au contenu de la cellule A1. Maintenant, supposons qu'en B1 tu saisi directement A1 sans le signe égal. Met toi le curseur en D1 et saisi cette formule suivante :

=INDIRECT(B1)

Par magie, cela te donne le contenu de A1, car dans B1 on a la référence A1 est écrit. Je ne sais pas si je me fais bien comprendre.

Pour en savoir plus, consulte aide Microsoft excel ou bien dans le net. Tu auras énormément d'explications.

Re à toi,

Oui bien entendu tu te fais comprendre

cependant, j'ai un problème:

- NB.SI ne marche que si les fichiers sont ouverts !! (mauvais pour moi)

Que faire?

Merci beaucoup Raja

Re,

Essaye ce fichier ci-joint avec la formule SOMMEPROD où je ne compare que les 10 premiers caractères et je n'ai pas pu optimiser la formule à mon grand regret :

Fichier Joint

PS : à l'ouverture de ce fichier réponds "Oui" pour actualiser les liaisons.

WOW chapeau

rapide et efficace c'est ce que je voulais en plus

Merci tu es le + fort !!!

Raja a écrit :

Re,

Essaye ce fichier ci-joint avec la formule SOMMEPROD où je ne compare que les 10 premiers caractères et je n'ai pas pu optimiser la formule à mon grand regret :

Fichier Joint

PS : à l'ouverture de ce fichier réponds "Oui" pour actualiser les liaisons.

Rechercher des sujets similaires à "recherche caracteres tableaux differents"