[VBA] Rechercher - Remplacer valeur exacte dans une cellule [Résolu/Fermé]

Signaler
Messages postés
9
Date d'inscription
mardi 30 août 2016
Statut
Membre
Dernière intervention
9 septembre 2016
-
Altays
Messages postés
9
Date d'inscription
mardi 30 août 2016
Statut
Membre
Dernière intervention
9 septembre 2016
-
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,

3 réponses

Messages postés
3341
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
450
Bonjour,

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


A+
Altays
Messages postés
9
Date d'inscription
mardi 30 août 2016
Statut
Membre
Dernière intervention
9 septembre 2016

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