Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

[Résolu] Remplacer formule SI dans une cellule par sa valeure grace à VBA

mas888

XLDnaute Nouveau
Bonjour,

J'aimerais avoir de l'aide pour remplacer toutes les formules des cellules d'un tableau par du code en VBA car mon fichier Excel est beaucoup trop gros!
Pour exemple, la formule en P5 est : =SI($J5="";0;SI(P$2>$G5+$N5;0;SI(P$2<$G5-$L5;0;$O5)))
J'ai transfomé cette formule en VBA et j'ai obtenu ceci (juste pour la cellule P5 et non pour l'ensemble) :

Sub Macro1()
Range("P5").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC10="""",0,IF(R2C>RC7+RC14,0,IF(R2C<RC7-RC12,0,RC15)))"
Range("P6").Select
End Sub

Donc pour l'instant pas de problème.
Mais j'aimerais que les cases (P5, ...) soient vides et que lorsque j'active la marco, elles se remplissent grace à la formule évoquée ci dessus mais sous forme de valeur et non de formule.
En gros que la macro mette en place ces formules pour ij, i étant le numéro de la colonne (P -->JB) et j le numéro de ligne (5 -->255) mais que les formule ne soient pas renseignées dans les cellules car cela prend énormément de place.
J'éspère avoir été clair.
Je vous remercie d'avance.
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Remplacer formule SI dans une cellule par sa valeure grace à VBA

Bonjour mas888,

essaye

Code:
Sub Macro1()
    Range("P5:JB255").FormulaR1C1 = _
        "=IF(RC10="""",0,IF(R2C>RC7+RC14,0,IF(R2C<RC7-RC12,0,RC15)))"
    Range("P5:JB255").Value = Range("P5:JB255").Value
End Sub
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…