XL 2016 Comparer le texte contenu dans deux cellules

  • Initiateur de la discussion Initiateur de la discussion leGlauque
  • 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 !

leGlauque

XLDnaute Nouveau
Bonjour à tous,

Je cherche une formule qui me permettrait de comparer le texte contenu dans deux cellules, afin de savoir si des éléments d’un l’une se retrouve dans l’autre, et vice-versa.
Le résultat renverrait un « 1 » dans le cas positif, et un « 0 » dans le cas négatif.

Mon projet est de savoir si deux planètes se trouvent sur la même route hyperspatiale (oui, je sais).

Par exemple :
Planètes
Routes hyperspatiales
Coruscant​
Corelienne​
Arkanis​
Triellus, Corelienne​

En détectant que ces deux planètes ont une route en commun, la formule me renverrait la réponse « 1 ».

La difficulté, c’est qu’il faut « entrer » dans la cellule pour détecter le texte, et qu’elles ne sont pas toujours identiques.
Les formules de type EXACT, CHERCHE et TROUVE ne sont donc pas adaptés.

Est-ce que cela vous semble possible ?

Je vous remercie par avance grandement pour vos lumières.

Belle journée,

l.G.
 
Bonjour LeGlauque,
Avec un seul exemple, c'est difficile d'apporter une réponse correcte.
En se limitant à votre exemple, on peut faire :
VB:
=NB.SI(B2;"*"&B3&"*")+NB.SI(B3;"*"&B2&"*")
Mais ce ne sera surement pas valable pour un autre ex. Dans cette formule il faut qu'une au moins des cellules ne comporte qu'un mot qu'on retrouve dans la seconde cellule.
 

Pièces jointes

Merci beaucoup pour vos réponses,

Alors effectivement, je me rends bien compte que c'est compliqué...
Le souci avec vos deux propositions, c'est que dès que "Corelienne" n'est plus toute seule dans la 1ère case, la formule renvoie "Faux".

Je peux décliner l'exemple sur quelque chose de + trivial.
Par exemple : repérer entre deux cellule s'il y a un (ou plusieurs) ingrédient(s) identiques.
Potage | Poireaux, Patates, Carottes, Navet
Tartiflette | Patates, Reblochon, Lardons, Oignons
Ca match, car il y a Patates dans les deux cellules → résultat "Vrai" ou "1"

J'espère que c'est un peu + clair.

Encore merci,

l.G.
 
Bonsoir,
sans connaitre la longueur des deux phrases ni le nombre d'éléments, je pense que par formules, cela va être difficile;
En PJ un essai avec une fonction perso :
VB:
Function ChercheP(V1, V2)
    Dim T, i%
    Application.Volatile
    V1 = LCase(V1): V2 = LCase(V2)
    V1 = Replace(V1, " ", ""): T = Split(V1, ",")
    For i = 0 To UBound(T)
        If V2 Like "*" & T(i) & "*" Then ChercheP = 1
    Next i
End Function
 

Pièces jointes

Dernière édition:
Bonjour @ tous,
sur le fichier du post #5 de l'ami Sylvanu que je salue au passage, une formule matricielle, en D2 :
VB:
=SI(MOD(LIGNES($2:2);2)=1;SIGNE(NB(CHERCHE(FILTRE.XML("<a><b>"&SUBSTITUE(B2;",";"</b><b>")&"</b></a>";"//b");TRANSPOSE(FILTRE.XML("<a><b>"&SUBSTITUE(B3;",";"</b><b>")&"</b></a>";"//b")))));"")
@ valider par Ctrl+Maj+Entrée
@ tirer vers le bas


Cordialement
 
Merci infiniment pour vos réponses !
Vous êtes des génies !

Je me suis permis d'ajouter un petit "SI" avant la formule au cas où les deux cellules sont vides (auquel cas cela renvoyait en toute logique un "1").

Encore 1000 mercis !

l.G.
 
Sur un autre forum, un utilisateur m'a proposé cette formule là :

Function Detecter(Liste_1, Liste_2) As Long
Dim i As Long, j As Long
Chaine_1 = "," & Replace(Liste_1, " ", "", 1) & ","
Chaine_2 = "," & Replace(Liste_2, " ", "", 1) & ","

Liste_1 = Split(Chaine_1, ",")
Liste_2 = Split(Chaine_2, ",")
For i = 1 To UBound(Liste_1)
If Liste_1(i) <> "" Then
For j = 1 To UBound(Liste_2)
If Liste_1(i) = Liste_2(j) Then Nb = Nb + 1
Next j
End If
Next i
Detecter = Nb
End Function

Qu'en pensez-vous ?

Belle journée,

l.G.
 
- 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

Retour