OVH Cloud OVH Cloud

Macro Rechercher, remplacer " " par " "

2 réponses
Avatar
agathe444
Bonjour,

Je voudrais creer une macro, je n'ai aucun connaissance dans ce domaine mais on m'a dit que cela me ferait gagner un certain temps,

Je voudrais que la Macro remplace par ex BEZEE0004 par BEZEE. Sachant que j'ai plusiers autres codes a remplacer. L'ideal serait que ce soit comme une table de correspondance. Si tu trouves cela alors remplace par cela...

J'espere que j'ai ete claire et je vous remercie par avance pour votre aide, j'ai en ai besoin vu mon niveau en Macro :)
Agathe

2 réponses

Avatar
MichD
Bonjour,

Copie cette procédure dans un module standard :

Pour la variable "Source", tu inscris la liste de toutes les expressions que
tu
veux remplacer.

Pour la variable "Repl", tu inscris pour chacune des expressions de la
variable
"Source", l'expression qui doit la remplacer. ATTENTION : ces expressions de
remplacement doivent être dans le même ordre que les expressions sources
correspondantes.

En respectant la syntaxe, tu peux allonger la liste des variables "Source"
et "Repl"
autant que tu veux...

Si tu veux que le replacement se fasse sur plus d'une feuille, tu dois
sélectionner
seulement les feuilles désirées avant de lancer la macro.

'----------------------------------------
Sub test()
Dim Source(), Repl(), A As Long, Sh As Worksheet

Source = Array("BEZEE0004", "loto", "Lili", _
"Lala", "Lulu")

Repl = Array("BEZEE", "Toto", "Titi", _
"Tata", "Tutu")

For Each Sh In ActiveWindow.SelectedSheets
For Each Elt In Source
Sh.Cells.Replace What:=Elt, Replacement:=Repl(A), _
LookAt:=xlPart, MatchCase:úlse
A = A + 1
Next
Next
End Sub
'----------------------------------------




MichD
---------------------------------------------------------------
"agathe444" a écrit dans le message de groupe de discussion :


Bonjour,

Je voudrais creer une macro, je n'ai aucun connaissance dans ce domaine mais
on
m'a dit que cela me ferait gagner un certain temps,

Je voudrais que la Macro remplace par ex BEZEE0004 par BEZEE. Sachant que
j'ai
plusiers autres codes a remplacer. L'ideal serait que ce soit comme une
table de
correspondance. Si tu trouves cela alors remplace par cela...

J'espere que j'ai ete claire et je vous remercie par avance pour votre aide,
j'ai en ai besoin vu mon niveau en Macro :)
Agathe
Avatar
MichD
J'ai omis de mentionner que les expressions recherchées le sont
partout dans la cellule.

Exemple : Si la macro recherche "toto" et que
dans la cellule A1 dont le contenu est : aaatotobbb
"toto" est présent, l'expression "toto" sera remplacée par
une autre expression que tu as désignée.

Si tu veux qu'elle prenne tout le contenu de A1 comme étant
une expression, tu dois modifier ceci :
LookAt:=xlPart pour LookAt:=xlWhole.
Dans l'exemple donné, elle ne remplacera rien.

Fais-toi une copie de sauvegarde avant de débuter!!!

MichD
---------------------------------------------------------------