Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 recherche si dans une cellule si une partie d'une autre cellule y est si oui mettre cellule d'à coter.

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 !

Antoine_94

XLDnaute Nouveau
Bonjour, je m'appelle Antoine, ravi de faire partie de l'équipage 🙂

Je suis bloqué sur une formule si on peut m'aider c'est sympa.
J'importe un fichier brut et je voudrais automatiser son traitement en faisant des conditions et recherches.
Mon problème est qu'il y a une cellule ou est écrit par exemple "jklkjFNACmlokm", je veux faire une formule qui dit si cette cellule contient le mot "FNAC" alors "FFNAC".
J'en ai bien trouvé une mais je dois faire cela avec beaucoup de mots. J'ai donc fais une table matière et fais une grosse formule "si" mais c'est trop long comme formule et puis j'arriverais au bout de la formule car j'ai trop de mot à rechercher.
Est ce qu'il y aurait une formule plus simple qui recherche si dans une cellule, il y a une partie d'un mot qui correspond à ma table matière alors cela renvoie le mot d'à coter ?
Je joins mon fichier excel, en colonne A, la formule à faire, en colonne B le libellé brut que j'ai importé, en colonne E le mot à rechercher dans la cellule importée, en colonne F le mot à renvoyer.
Merci d'avance pour votre aide.
Cordialement,
 

Pièces jointes

Solution
Bonjour Sylvanu,
donc j'ai mal compris, on peut le faire sans la colonne A, en C2 :
VB:
=SIERREUR(INDEX(F$3:F$10;EQUIV(VRAI;ESTNUM(CHERCHE(E$3:E$10;B2));0));"")
@ valider par Ctrl+Maj+Entrée (N'est pas obligatoire sous Excel pour Microsoft 365)
@ tirer vers le bas


Cordialement
Bonjour Antoine et bienvenu sur XLD,
En PJ un essai avec une fonction perso. Cela a l'avantage que la table des matières peut s'agrandir sans complexifier les formules.
La syntaxe est :
Code:
=Fournisseur(Chaine;Tableau Libellés;Tableau fournisseurs)
avec :
VB:
Function Fournisseur(N As Range, Libellé As Range, Résultat As Range)
Dim T_Libellé, T_Résultat, i%
T_Libellé = Libellé
T_Résultat = Résultat
For i = 1 To UBound(T_Libellé)
    If LCase(N) Like LCase("*" & T_Libellé(i, 1) & "*") Then
        Fournisseur = T_Résultat(i, 1)
        Exit Function
    End If
Next i
End Function
 

Pièces jointes

elle est magique la formule, je ne connaissais pas. Merci beaucoup cela fonctionne parfaitement.
 
Ce n'est pas une formule, c'est une formule perso.
Vous écrivez votre propre formule, ce qui est souvent très utile.
 
ah oui très fort je vais regarder cela merci !
 
Bonjour @ tous,
on n'a pas besoin d'une fonction personnalisée je pense 🤔
en C2 :
VB:
=SI(ESTNUM(CHERCHE(RECHERCHEX(A2;F$3:F$10;E$3:E$10);B2));A2;"")
@ tirer vers le bas


Cordialement
 
Bonjour R@chid,
Je ne pense pas que ça marche car A2 n'existe pas, c'est le résultat cherché. ( celui initialement calculé par Antoine )
Il faut chercher si dans B2 il y a un contenu de E3:E10 et remonter l'équivalent F3:F10.
 
Bonjour Sylvanu,
donc j'ai mal compris, on peut le faire sans la colonne A, en C2 :
VB:
=SIERREUR(INDEX(F$3:F$10;EQUIV(VRAI;ESTNUM(CHERCHE(E$3:E$10;B2));0));"")
@ valider par Ctrl+Maj+Entrée (N'est pas obligatoire sous Excel pour Microsoft 365)
@ tirer vers le bas


Cordialement
 
Bonjour R@chid,
Cette formule fonctionnement parfaitement, merci beaucoup.
Cordialement,
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…