[VBA] Rechercher - Remplacer valeur exacte dans une cellule

Résolu/Fermé
Altays Messages postés 9 Date d'inscription mardi 30 août 2016 Statut Membre Dernière intervention 9 septembre 2016 - Modifié par Altays le 8/09/2016 à 13:48
Altays Messages postés 9 Date d'inscription mardi 30 août 2016 Statut Membre Dernière intervention 9 septembre 2016 - 9 sept. 2016 à 09:59
Bonjour,

Je reviens vers vous pour une petite question.
J'ai une macro "Rechercher-Remplacer", qui doit remplacer une certaine valeur au milieu d'une cellule.
Donc j'ai ça :
Cells.Replace What:="1", Replacement:="", Lookat:=xlPart, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

Mais mon soucis, c'est que ça remplace tous les 1, par exemple 2016 devient 206. Ce que je souhaite c'est de remplacer uniquement la valeur exacte, qui peut se trouver N'IMPORTE ou dans la cellule, à son début, au centre, à la fin.
Par exemple :

Produit X 1 2016
Devient :
Produit X 2016


Ou cela se complexifie, c'est que la valeur recherchée peut être un chiffre, un mot, une lettre...

J'ai essayé de remplacer XLPart par xlWhole, mais ça ne marche pas. Car ça remplace uniquement si la cellule est parfaitement identique.

Altays,

1 réponse

Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
8 sept. 2016 à 14:41
Bonjour,

As-tu essayé ce code (avec espaces) ?
Cells.Replace What:=" 1 ", Replacement:=" ", Lookat:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False


A+
0
Altays Messages postés 9 Date d'inscription mardi 30 août 2016 Statut Membre Dernière intervention 9 septembre 2016
Modifié par Altays le 9/09/2016 à 10:03
Super, ça fonctionne parfaitement !
L'idée était tout bête, mais fallait y penser. =) Je l'ait adaptée à ma dernière version pour avoir :

Selection.Replace What:=ActiveCell.Offset(-1, 0)&" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

Merci infiniment de ton aide.

Altays
0