Comparaison entre le chaines de caractère contenu dans 2 cellules

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

LIOR

XLDnaute Nouveau
Bonjour,

Je me permets de vous demander votre pour comparer le contenu de deux cellules. En fait j'ai deux colonnes de plusieurs milliers de lignes et je voudrais m'assurer que les lignes de la colonnes 1 correspondent bien aux lignes de la colonne B en vérifiant par exemple que la totalité de la chaine de caractère contenu dans la cellule B2 apparait bien dans le contenu de la cellule A2 et si c'est le cas alors faire D2=B2.
J'ai mis un exemple en pièce jointe afin d'illustrer mon problème.

Merci d'avance pour votre aide.
 

Pièces jointes

Re : Comparaison entre le chaines de caractère contenu dans 2 cellules

Bonsoir,

Vous pouvez essayer cette formule en D2:

Code:
=SI(ESTNUM(CHERCHE(B2;A2));B2;"Erreur")

La fonction CHERCHE() renvoie la position de la chaîne de caractères si elle existe, et une erreur dans la cas contraire. La fonction ESTNUM() renvoie VRAI si le résultat obtenu est une valeur numérique, ce qui sera le cas si la chaîne de caractères existe dans la cellule de la colonne A, elle renverra FAUX dans le cas contraire. Enfin la fonction SI() permet d'afficher le libellé souhaité en fonction du résultat obtenu.

Bonne soirée,

mth

Edit: Bonjour Laetitia 🙂
 
Dernière édition:
Re : Comparaison entre le chaines de caractère contenu dans 2 cellules

bonjour LIOR , mth🙂🙂
un essai avec une macro

Code:
Sub es()
 Dim i As Long
 Application.ScreenUpdating = False
 For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
 If InStr(1, Cells(i, 1), Cells(i, 2), vbTextCompare) Then _
 Cells(i, 4) = Cells(i, 2) Else Cells(i, 4) = "Erreur"
 Next
End Sub
 
Re : Comparaison entre le chaines de caractère contenu dans 2 cellules

re,
quoi que !!! en passant par un "tablo" plus rapide sur beaucoup de lignes a voir??

Code:
Sub est()
 Dim t(), t1(), i As Long, x As Long
 t = Range("a2:b" & Cells(Rows.Count, 1).End(xlUp).Row)
 ReDim t1(1 To UBound(t), 1 To 2)
 For x = 1 To UBound(t)
 i = i + 1
 If InStr(1, t(x, 1), t(x, 2), 1) Then _
 t1(i, 1) = t(x, 2) Else t1(i, 1) = "Erreur"
 Next x
 [d2].Resize(x - 1, 1) = t1
 Erase t, t1
End Sub
 
Dernière édition:
- 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
4
Affichages
81
Retour