Sub MacroTest()
Dim oldformule As String
Dim newformule As String
Dim tmp
Dim i
Dim j
i = 1
j = 1
While j <= 4
While i <= 10
Cells(i, j).Activate
' Recherche de la fonction RECHERCHEV dans la formule de la cellule active
If InStr(ActiveCell.FormulaLocal, "RECHERCHEV") Then
' Stocker l'ancienne formule de la cellule dans oldformule
oldformule = "" & ActiveCell.FormulaLocal
' Enlever le signe = pour pouvoir réutiliser la chaîne de caractères sans ce signe
tmp = Split(oldformule, "=")
' Concatener pour stocker dans newformule la chaîne de caractères correspondant à la formule souhaitée
newformule = "=SI(ESTVIDE(" & tmp(1) & ");"""";" & tmp(1) & "))"
' Vérifier que la chaîne de caractère est correcte
MsgBox newformule
' Mettre la nouvelle chîne de caractère dans la cellule active en tant que nouvelle formule
' C'EST LA QUE JE COINCE !! Ca ne marche pas
ActiveCell = newformule
End If
oldformule = ""
newformule = ""
i = i + 1
Wend
i = 1
j = j + 1
Wend
End Sub