C'est sûrement un peu barbare mais j'ai opté pour la solution suivante :
Dim cellule As Range
Dim n, i, row_debut, row_fin, col_debut, col_fin As Integer
' Find the starting and ending position of rows and columns
row_debut = ActiveCell.Row
row_fin = ActiveCell.Row + Selection.Rows.Count - 1
col_debut = ActiveCell.Column
col_fin = Selection.Columns.Count + ActiveCell.Column - 1
'Replace from row/col_debut to row/col_fin
For i = row_debut To row_fin
For n = col_debut To col_fin
Cells(i, n).Formula = Replace(Replace(Replace(Replace(Cells(i, n).Formula, USF.tb1.Text, USF.tb2.Text), USF.tb3.Text, USF.tb4.Text), USF.tb5.Text, USF.tb6.Text), USF.tb7.Text, USF.tb8.Text)
Next n
Next i
Bonne journée
Jeremy