il faut initialiser ta variable non, en l'état le code cherche une chaîne vide soit : ""
Code:
Sub Transform()
Dim i As Integer
Dim non As String
non = "non"
For i = 1 To 400
If Range(" R " & i) = non Then
Range(" R " & i) = 1
End If
Next i
Return
End Sub
Tu as raison, j'ai lu en grande diagonale.
Cela dit, je ne vois pas trop l'intérêt de créer une variable pour un non qui est juste le contenu de la cellule à tester.