Inscrire Formule dans cellule via macro

Will-e-coyote

XLDnaute Occasionnel
Bonjour le Forum,

Je souhaiterai faire mettre une formule dans une cellule par une macro (Pour empecher les utilisateurs de mettre n'importe quoi).

Ma formule est la suivante =IF(OR(ISBLANK(T2),T2=0),0,ROUND(R2/T2,2))

J'ai essaye de le faire en VBA avec la commande suivante (dans une Macro Worksheet_SelectionChange), sachant que cela doit se passer dans la colonne U .

Code:
Target.Formula = "=IF(OR(ISBLANK(" & Target.Offset(0, -1).Name & ")," & Target.Offset(0, -1).Name & "=0),0,ROUND(" & Target.Offset(0, -3).Name & "/" & Target.Offset(0, -1).Name & ",2))"

Si quelqu'un pouvait me donner une piste pourquoi ce code ne fonctionne pas....

Merci les Copains:cool:
 

Dranreb

XLDnaute Barbatruc
Re : Inscrire Formule dans cellule via macro

Bonjour.
En portent-elle seulement, des noms, toutes vos cellules ? J'en doute.
Étant donné qu'il n'y a aucune référence absolue dans votre formule tout d'abord mentionnée, c'est la même formule R1C1 qui doit probablement convenir quelle que soit la ligne.
P.S. C'est justement parce qu'elles sont toujours beaucoup plus claires à réétudier, même quand on affiche en A1, que l'enregistreur de macro inscrit toujours les formules en FormulaR1C1.
Cordialement
 
Dernière édition:

Discussions similaires

Réponses
0
Affichages
158
Réponses
10
Affichages
233
Réponses
1
Affichages
127

Statistiques des forums

Discussions
312 361
Messages
2 087 630
Membres
103 616
dernier inscrit
Simone98