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

  • Initiateur de la discussion Initiateur de la discussion mas888
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour