Formule par macro trop longue

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 !

sebastien450

XLDnaute Occasionnel
Bonjour.
J'ai un problème:
Je souhaitre faire un copier coller d'une case vers une autre avec une macro.
Le problème est que ma formule sous macro doit etre trop longue.
Voila le code:


Range("Q18").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[4]="""","""",IF(R[-1]C[4]="""","""",IF(R[-1]C[4]<R15C17,(IF((('Puissance restante'!R[-15]C[-5])^2-4*-(IF(RC[4]>R15C18,R15C18,RC[4])-(R[-1]C[4]+IF(R[-1]C[4]<R15C17,IF(RC[4]>R15C18,R15C18,RC[4])-R15C17,FALSE)))*(0.5*('Puissance restante'!R[-15]C[-5])))>0,(-('Puissance restante'!R[-15]C[-5])+SQRT((('Puissance restante'!R[-15]C[-5])^2-4*-(IF(RC[4]>R15C18,R15C18,RC[4])-(R[-1]C[4]+IF(R[-1]C[4]<R15C17,RC[4]-R15C17,FALSE)))*(0.5*('Puissance restante'!R[-15]C[-5])))))/(2*('Puissance restante'!R[-15]C[-5])),(-('Puissance restante'!R[-15]C[-5])-SQRT(-(('Puissance restante'!R[-15]C[-5])^2-4*-(RC[4]-R[-1]C[4])*(0.5*('Puissance restante'!R[-15]C[-5])))))/(2*('Puissance restante'!R[-15]C[-5])))),(IF((('Puissance restante'!R[-15]C[-5])^2-4*-(IF(RC[4]>R15C18,R15C18,RC[4])-R[-1]C[4])*(0.5*('Puissance restante'!R[-15]C[-5])))>0,(-('Puissance restante'!R[-15]C[-5])+SQRT((('Puissance restante'!R[-15]C[-5])^2-4*-(IF(RC[4]>R15C18,R15C18,RC[4])-R[-1]C[4])*(0.5*('Puissance restante'!R[-15]C[-5])))))/(2*('Puissance re
stante '!R[-15]C[-5])),(-('Puissance restante'!R[-15]C[-5])-SQRT(-(('Puissance restante'!R[-15]C[-5])^2-4*-(IF(RC[4]>R15C18,R15C18,RC[4])-R[-1]C[4])*(0.5*('Puissance restante'!R[-15]C[-5])))))/(2*('Puissance restante'!R[-15]C[-5]))))+R[-1]C)))"
Range("Q19").Select
End Sub

Il me pose problème au niveau de la partie en gras!

Merci de votre aide!
 
Re : Formule par macro trop longue

bonjour,

si tu as tapé sur la touche entrée sur la ligne au-dessus, il faut mettre :
]>R15C18,R15C18,RC[4])-R[-1]C[4])*(0.5*('Puissance restante'!R[-15]C[-5])))))/(2*('Puissance re _
soit : rajouter un espace et un trait de soulignement en dernier caractère de la ligne : cela indique à VBA que l'instruction, la formule ... continue à la ligne suivante
 
Re : Formule par macro trop longue

Cela ne marche toujours pas avec le code suivant:
ActiveCell.FormulaR1C1 = _
"=IF(RC[4]="""","""",IF(R[-1]C[4]="""","""",IF(R[-1]C[4]<R15C17,(IF((('Puissance restante'!R[-15]C[-5])^2-4*-(IF(RC[4]>R15C18,R15C18,RC[4])-(R[-1]C[4]+IF(R[-1]C[4]<R15C17,IF(RC[4]>R15C18,R15C18,RC[4])-R15C17,FALSE)))*(0.5*('Puissance restante'!R[-15]C[-5])))>0,(-('Puissance restante'!R[-15]C[-5])+SQRT((('Puissance restante'!R[-15]C[-5])^2-4*-(IF(RC[4]>R15C18,R15C18,RC[4])-(R[-1]C[4]+IF(R[-1]C[4]<R15C17,RC[4]-R15C17,FALSE)))*(0.5*('Puissance restante'!R[-15]C[-5])))))/(2*('Puissance restante'!R[-15]C[-5])),(-('Puissance restante'!R[-15]C[-5])-SQRT(-(('Puissance restante'!R[-15]C[-5])^2-4*-(RC[4]-R[-1]C[4])*(0.5*('Puissance restante'!R[-15]C[-5])))))/(2*('Puissance restante'!R[-15]C[-5])))),(IF((('Puissance restante'!R[-15]C[-5])^2-4*-(IF(RC[4]>R15C18,R15C18,RC[4])-R[-1]C[4])*(0.5*('Puissance restante'!R[-15]C[-5])))>0,(-('Puissance restante'!R[-15]C[-5])+SQRT((('Puissance restante'!R[-15]C[-5])^2-4*-(IF(RC[4]>R15C18,R15C18,RC[4])-R[-1]C[4])*(0.5*('Puissance restante'!R[-15]C[-5])))))/(2*('Puissance re _
stante '!R[-15]C[-5])),(-('Puissance restante'!R[-15]C[-5])-SQRT(-(('Puissance restante'!R[-15]C[-5])^2-4*-(IF(RC[4]>R15C18,R15C18,RC[4])-R[-1]C[4])*(0.5*('Puissance restante'!R[-15]C[-5])))))/(2*('Puissance restante'!R[-15]C[-5]))))+R[-1]C)))"
Range("V21").Select

Il me met: Erreur de syntaxe!
 
Re : Formule par macro trop longue

re, estce que la formule fonctionne quand tu la mets manuellement dans ta cellule,
1. je sais qu'on est limité sur la longueur d'une formule
2. je ne sais plus quel est le nombre max de caractères qu'on peut mettre
3. sur quelle version d'excel travailles-tu
4. sinon, un bout du fichier
5. ta formule est tellement compliquée que j'en aurais fait une fonction personnalisée
 
- 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

Discussions similaires

Réponses
3
Affichages
467
  • Question Question
Microsoft 365 VBA sur outlook
Réponses
14
Affichages
1 K
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
88
Réponses
11
Affichages
735
Retour