Re : Question sur une macro avec la fonction "Remplacer"
Salut gexjere et le forum
Je suis tout nouveau sur le forum et en VBA aussi, Je me présente, je suis Jérémy et je suis étudiant.
À chacun sa croix
"=+'feuille2 '!A1" => "='feuille2 '!A1"
valeur1 et valeur2 prennent bien la bonne valeur cependant quand quand je lance la macro rien ne se passe sur la fonction remplacer. A mon avis car What:="valeur1" ne pointe pas sur la valeur de la variable mais je ne suis pas sur.
Tu fais une erreur de "débutant" : il faut différencier ce que tu vois (affichage) de ce que contient ta cellule
Quand tu demandes à Excel de remplacer (replace) => tu lui demandes obligatoirement d'agir sur les caractères de la formule
Dim valeur1 As String
Dim valeur2 As String
valeur1 = Range("Q10") (dans la cellule Q10 se trouve la valeur "Feuille2 '!A") : Là, dans ta varible on a l'affichage (.value) de la cellule :
Si Q10 : =Feuille2 '!A10 => "Client AA" =>
valeur2 = Range("G3") (dans la cellule G3 se trouve la valeur "Feuille2 '!B")
Cells.Replace What:="Client AA", Replacement:= _
valeur2, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase _
:=False, SearchFormat:=False, ReplaceFormat:=False
Remplacer dans le contenu (la formule) des cellules "Client AA" par la valeur affichée en G3
Donc, d'après ce que j'ai compris, pas étonnant que ça ne fonctionne pas.
On peut faire deux raisonnement :
- soit on remplace dans la formule les caractères voulus
avec
Valeur1 = left(Range("Q10").formula,13)
Valeur2 = left(Range("G3").formula,13)
(à tester sur un avant de tout faire, le nombre de caractères doit être précis)
- soit on remplace la valeur (l'affichage) avec un find pour trouver la cellule (soit dans les valeurs, soit dans les formules) et on remplace la valeur de la cellule par la valeur de G3 => les cellules auront donc "Clent AA".
Petit rappel : tu connais ton fichier, nous non et pour le code c'est l'inverse => plus tu es précis (comme si on ne savais rien du problème) plus on peut être précis dans nos réponses, ce qui permet de faire la liaison entre la question et la réponse.
A+