Recherche d'une chaîne de caractères dans un fichier

  • Initiateur de la discussion Initiateur de la discussion ib@w
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ib@w

XLDnaute Nouveau
Bonjour,

Je souhaite récupérer à partir de la colonne A d'un fichier 1 un nom qui se trouve dans la colonne D d'un fichier 2. La correspondance se faisant par l'intermédiaire de la colonne U du fichier2.

Pour que cela soit plus clair, voici un exemple de contenus des 2 fichiers :

* fichier 1
colonne A colonne B ...
[AAA-BBB-100] texte1
[AAA-BBB-101] texte2
[AAA-BBB-102] texte3
[AAA-BBB-103] texte4

* fichier 2
... colonneD ... colonneU
NOM1 [AAA-BBB-100] texte5 [AAA-BBB-101] texte6
NOM2 [AAA-BBB-102] texte7
NOM3 [AAA-BBB-103] texte8


Voici la suite de calculs que j'effectue :

1) Recherche de la référence (colonne A du fichier 1) dans la colonne U du fichier 2.
--> calcul1=RECHERCHE(A1;'[fichierB.xls]Table_tâches1'!$U:$U)

2) Récupération de la ligne correspondante
--> calcul2=EQUIV(calcul1;'[fichierB.xls]Table_tâches1'!$U:$U)

3) Récupération de la chaîne de caractère correspondante dans la colonne D
--> calcul3=INDEX('[fichierB.xls]Table_tâches1'!$D:$D;calcul2)

Problème/Questions :
Le problème c'est que cet algo ne fonctionne que si le contenu de la colonne A correspond exactement au contenu de la colonne U. Ce qui, dans mon cas, n'est jamais vrai puisque la colonne U peut contenir du texte et plusieurs références. Quelqu'un aurait-il une astuce ? Notamment existe-t'il une fonction qui permet de rechercher une partie de chaîne de caractère dans une cellule et qui renvoit la ligne correspondante ?

Merci d'avance pour vos réponses
 
Re : Recherche d'une chaîne de caractères dans un fichier

Bonjour,

L'idéal serait que tu joignes un extrait de tes deux fichiers (tu peux aussi réunir en mettant les données de chaque fichier sur deux onglets distincts pour plus de simplicité).

La solution pourrait se trouver avec l'utilisation ESTNUM et TROUVE

=SI(ESTNUM(TROUVE(chaîne_cherchée;plage_de_recherche));réponse1;réponse2)

Il s'agit d'une proposition partielle qui pourra être complétée au vu de tes fichiers.

Toujours plus facile de travailler sur la matière première (le fichier) plutôt que de devoir le reconstituer

A te (re)lire avec le fichier

@+
 
Re : Recherche d'une chaîne de caractères dans un fichier

Voilà un fichier exemple. J'ai tout regroupé dans un même fichier pour simplifier pour le moment. Dans l'onglet 1, on a le résultat de mes calculs. On peut voir que cela ne fonctionne que quand la référence est identique dans le tableau 1 et dans le tableau 2 (ligne 7) . Or je voudrais que cela fonctionne lorsque l'on se trouve dans les 4 cas précédents, lignes 3, 4, 5, 6 (quand la référence du tableau 1 n'est en fait qu'une partie de la référence du tableau2).
 

Pièces jointes

Re : Recherche d'une chaîne de caractères dans un fichier

Bonjour,

En C3, une proposition avec une formule matricielle :

Code:
=INDEX(tablo2!$D$2:$D$50;MIN(SI(ESTNUM(TROUVE(A3;tablo2!$U$2:$U$50))*
LIGNE(tablo2!$U$2:$U$50)<>0;ESTNUM(TROUVE(A3;tablo2!$U$2:$U$50))*LIGNE(tablo2!$U$2:$U$50))))

Formule matricielle à valider par CTRL + MAJ + ENTREE

On devrait trouver peut-être plus simple, mais pas trop eu le temps de chercher.

@+
 
Re : Recherche d'une chaîne de caractères dans un fichier

Effectivement ça fonctionne avec cette formule (j'ai dû rajouter "-1" à la fin pour que le résultat soit bien celui attendu sinon il y a avait un décalage).

Ca donne :
=INDEX(tablo2!$D$2:$D$50;MIN(SI(ESTNUM(TROUVE(A3;tablo2!$U$2:$U$50))*
LIGNE(tablo2!$U$2:$U$50)<>0;ESTNUM(TROUVE(A3;tablo2!$U$2:$U$50))*LIGNE(tablo2!$U$2:$U$50)))-1)

En tout cas, merci pour la rapidité et l'efficacité !!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
36
Affichages
3 K
Retour