En fait, normalement une formule introduite par VBA l'est en anglais par défaut. C'est pourquoi on écrit
"=RC[1]/0.75" où RC signifie Row Column et le point est le séparateur décimal
et ça marche bien dans un fichier "ordinaire".
mais pour une raison que je ne m'explique pas, ton fichier n'accepte que les formules locales, donc traduites en Français, comme ça :
"=LC(1)/0,75"
Pourquoi ? ça dépend probablement de la version Excel utilisée pour créer ton fichier. Mais quel est le facteur déterminant, mystère. En tout cas ta macro peut fonctionner dans ton fichier, si tu la modifies ainsi :
Sub NouvelleCompo2()
Dim Ligne As Long
For Ligne = 2 To Range("A1").CurrentRegion.Rows.Count
Cells(Ligne, 5).FormulaR1C1Local = IIf(Cells(Ligne, 1).Value <> 0, _
"=LC(1)/0,75", "")
Next Ligne
End Sub
tu remarqueras que j'ai utilisé FormulaR1C1Local parce que maintenant, si tu copies cette même procédure dans un autre fichier en utilisant FormulaR1C1, tu auras une erreur, mais une erreur "logique" cette fois-ci.