Rechercher et remplacer avec variable

guigouille -  
 LACOSTE JCl -
Bonjour,
J essaye de réaliser une macro qui recherche dans des cellules un path et le remplace par un autre....

voici mon code

Sub macro()

Dim sName As String
Dim sAncienNom As String

sAncienNom = Range("Ancient").Value

Select Case Range("utilisateur").Value
Case "Guillaume"
sName = "'D:\CC\GuillaumeTests\Test\code"
Case "Jean-Philipe"
sName = "'D:\CC\Jean-PhilipeTests\Test\code"
End Select

Range("E9:W30").Select
ActiveCell.Replace What:="& sAncienNom &", Replacement:= _
"& sName &", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.Find(What:="& sAncienNom &", After:=ActiveCell, _
LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False).Activate

End Sub

seulement la macro ne fonctionne pas et je n'ai aucune idée pkoi!!
J'ai tout essayé alors si quelqu un a une idée...
Merci d'avance
A voir également:

1 réponse

LACOSTE JCl
 
Pour ton information, utilise ce VB qui fonctionne super bien :

Function RemplacerChaine(Chaine As String, Remplace As String, Nouveau As String)

On Error Resume Next

Dim X As Integer, Y As Integer
Dim Resultat As String
Dim ChainePrec

Y = Len(Remplace)
Resultat = ""

If Not IsNull(Resultat) Then
While Len(Chaine) > 0
X = InStr(Chaine, Remplace)
If X > 0 Then
ChainePrec = Mid(Chaine, 1, X - 1)
Chaine = Mid(Chaine, X + Y)
Resultat = Resultat & ChainePrec & Nouveau
Else
Resultat = Resultat & Chaine
Chaine = ""
End If
Wend
RemplacerChaine = Resultat
End If

End Function
0