Macro recherche chaine de caractère dans une cellule

Bonjour à tous !

J'ai un document Excel avec deux feuilles :

F1 : j'ai des noms en colonne A (ex : DUPOND, SMITH etc.... )

F2 : j'ai une chaîne de caractères en colonne A (ex : Antoine DUPOND)

Objectif : SI le mot de la feuille F1 est aussi dans la feuille F2 ALORS

Copier la cellule B de la feuille F2 dans la cellule B de la feuille F1

Traduction VBA : If Worksheets("F1").Cells(i, 1) Like Worksheets("F2").Cells(j, 1) Then

Worksheets("F1").Cells(i, 2) = Worksheets("F2").Cells(j, 2)

Sauf que voilà, la fonction "LIKE" ne fonctionne pas...

Petite précision, j'ai vraiment besoin d'une macro, j'ai plusieurs centaine de lignes dans mes pages et les chaînes de caractères de F2 sont très variables (ex : je peux avoir "DUPOND" ou "Antoine DUPOND" ou "Antoine DUPOND et Magali SMITH").

Merci d'avance pour votre aide précieuse !

Sophie

Bonjour,

a priori essayez comme ceci:

 If  Worksheets("F2").Cells(j, 1) Like "*" & Worksheets("F1").Cells(i, 1) & "*" Then

If "Antoine DUPOND" Like "*DUPOND*"

A+

Bonjour AlgoPlus,

J'ai testé votre formule mais je n'ai pas eu plus de résultat qu'avec ma formule...

Merci pour vos réponses !

Sophie

alors il faut joindre un classeur présentant ce souci pour déceler son origine ...

A+

Bonjour,

Ci-joint le fichier test demandé !

22test-macro.xlsm (15.71 Ko)

Merci d'avance,

Sophie

Bonjour,

Un fichier exemple avec 2-3 noms à rechercher et une cinquantaine de "chaînes" aurait permis de tester ...

La fonction Instr([Départ], chaîne dans laquelle on recherche, chaîne recherchée, [type de comparaison]) pourrait être la solution et donnerait quelque chose comme:

If InStr(1, Worksheets("F2").Cells(j, 1), Worksheets("F1").Cells(i, 1), vbTextCompare) > 0 Then ...

[Edit:] Ah ben v'là le fichier!

PS: correction du code proposé

C'est pas bien de copier ....!!

Mais là , il aurait mieux value

votre code :

If Worksheets("F1").Cells(i, 1) Like "*" & Worksheets("F2").Cells(j, 1) & "*" Then

ma proposition:

If Worksheets("F2").Cells(j, 1) Like "*" & Worksheets("F1").Cells(i, 1) & "*" Then

Bonne suite

Bonjour,

Merci à vous deux ! Les deux propositions fonctionnent

Rechercher des sujets similaires à "macro recherche chaine caractere"