Comparer 2 chaines de caractères

Holeshotman

XLDnaute Junior
Bonjour le forum !

Je fais appel à vous dans l'espoir que vous puissiez me donner un petit coup de pouce !

Ce que je souhaite faire est indiqué dans le fichier joint (un exemple concret vaut mieux qu'un long discours :p)

J'ai essayé d'adapter une macro en utilisant la fonction Instr(), mais quelque chose doit m'échapper ...

Code:
Sub RechercheMot()

Dim i As Integer

For i = 1 To Range("A65536").End(xlUp).Row
If InStr(1, Cells(i, 1).Value, Cells(i, 1), vbTextCompare) = 0 Then
        MsgBox ("Ok")
        Exit Sub
    End If
Next i
End Sub

Je vais continuer de rechercher voir si je peux pas faire autrement en attendant vos propositions.
Merci beaucoup ! :eek:
 

Pièces jointes

  • Test_comparaison.xlsm
    10.3 KB · Affichages: 83
  • Test_comparaison.xlsm
    10.3 KB · Affichages: 91
  • Test_comparaison.xlsm
    10.3 KB · Affichages: 89

job75

XLDnaute Barbatruc
Re : Comparer 2 chaines de caractères

Bonjour Holeshotman, salut Pierre :)

On peut aussi utiliser :

Code:
Function compare(mot$, a$) As Byte
compare = Sgn(InStr(" " & a & " ", " " & mot & " "))
End Function
Edit : on peut surtout utiliser cette formule en C1 :

Code:
=--ESTNUM(CHERCHE(" "&A1&" ";" "&B1&" "))
A+
 
Dernière édition:

Holeshotman

XLDnaute Junior
Re : Comparer 2 chaines de caractères

C'est vraiment pile poil ce que je voulais ! Merci beaucoup à vous 2 pour ces propositions de code.

Et si admettons, la liste issue de l'extraction ne se trouve plus en colonne B, mais dans une colonne d'une autre feuille du fichier, pensez-vous que l'on puisse conserver cette fonction ?
Ou faut-il prévoir quelque chose de différent ?

Je vous joins l'exemple associé à mon idée.

Merci encore ! :p
 

Pièces jointes

  • Test_comparaison2.xlsm
    13.9 KB · Affichages: 71
  • Test_comparaison2.xlsm
    13.9 KB · Affichages: 65
  • Test_comparaison2.xlsm
    13.9 KB · Affichages: 60

pierrejean

XLDnaute Barbatruc
Re : Comparer 2 chaines de caractères

re

Une solution utilisant la fonction de mon ami Gerard
La feuille 1 se met à jour à l'activation
 

Pièces jointes

  • Test_comparaison2.xlsm
    23 KB · Affichages: 53
  • Test_comparaison2.xlsm
    23 KB · Affichages: 62
  • Test_comparaison2.xlsm
    23 KB · Affichages: 58

job75

XLDnaute Barbatruc
Re : Comparer 2 chaines de caractères

Re,

Pour ce problème, pas besoin de VBA, formule en C2 :

Code:
=SOMME.SI(Feuil2!F:F;A2;Feuil2!G:G)+SOMME.SI(Feuil2!F:F;A2&" *";Feuil2!G:G)+SOMME.SI(Feuil2!F:F;"* "&A2&" *";Feuil2!G:G)+SOMME.SI(Feuil2!F:F;"* "&A2;Feuil2!G:G)
Les 4 SOMME.SI traitent tous les cas de figure.

Fichier joint.

A+
 

Pièces jointes

  • Test_comparaison2 (1).xlsx
    15.1 KB · Affichages: 59

Holeshotman

XLDnaute Junior
Re : Comparer 2 chaines de caractères

PierreJean, Job75,

Merci beaucoup pour vos réponses ! Je vais essayer de comprendre un peu mieux les solutions proposées :cool:
Je pensais pas qu'une formule puisse faire l'affaire, mais en effet c'est aussi simple !

Bonne journée à vous et à l'ensemble du forum ! :)
 

Holeshotman

XLDnaute Junior
Re : Comparer 2 chaines de caractères

Bonjour le forum !

PierreJean,

En ce qui concerne votre proposition avec code vba, si en feuille 2, les colonnes F et G ne sont pas cote à cote, faut-il créer un "tablo3" dans le code ? Je suis un peu bloqué par rapport à ça ...

J'ai mis le fichier en pièce jointe pour que ce soit plus clair.

De plus, je ne comprends pas tout et ça me chagrine un peu (création de "dico" et de "scripting.dictionary" ainsi que le UBound et LBound). Je suis preneur d'explications ! :)

Merci beaucoup par avance !
 

Pièces jointes

  • Test_comparaison.xlsm
    24.9 KB · Affichages: 50
  • Test_comparaison.xlsm
    24.9 KB · Affichages: 54
  • Test_comparaison.xlsm
    24.9 KB · Affichages: 64

Discussions similaires

Statistiques des forums

Discussions
312 391
Messages
2 087 944
Membres
103 681
dernier inscrit
Lafite84