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

Formule trop longue

  • Initiateur de la discussion Initiateur de la discussion dieu08
  • 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 !

dieu08

XLDnaute Occasionnel
Bonjour,

Impossible de me sortir de ce problème récurrent avec les formules longues qui ne veulent pas passer dans les codes VBA.

Formule souhaitée au final :


J'ai essayé ceci pour contourner le problème :


Impossible de remplacer le "XX" par un "=" pour que le contenu de la cellule devienne une formule à part entière.

Des suggestions ? Merci.

dieu08
 
Re : Formule trop longue

Bonjour dieu08,
Pas sur d'avoir compris, mais en utilisant FormulaLocal et en doublant les " dans la formule:
Code:
Range("A1").FormulaLocal = "=SI(ET(C2=C3;OU(L2=""RFI Activité (Financement sur fonds Etat)"";L2=""RFI socle (financement sur fonds Conseil Général"");OU(L3=""RFI socle (financement sur fonds Conseil Général"";L3=""RFI Activité (Financement sur fonds Etat)""));""comb1"";SI(ET(C2=C3;OU(L2=""RFI Socle majoré(financement sur Conseil Général)"";L2=""RFI Activité majoré (Financement sur fonds Etat)"");OU(L3=""RFI Socle majoré(financement sur Conseil Général)"";L3=""RFI Activité majoré (Financement sur fonds Etat)""));""comb2"";""""))"
Cordialement
 
Re : Formule trop longue

Re
La commande FormulaLocal permet "d'écrire" la formule à l'identique d'une formule courante dans la feuille:
Exemple en A1:
Code:
Range("A1").FormulaLocal = "=B1+C1"

La fonction FormulaR1C1 utilise les référence RC (Row, Column):
Code:
Range("A1").FormulaR1C1 = =RC[+1] + RC[+2]"

Je ne suis pas un Fan des formule en RC 🙂.
Cordialement
 
Re : Formule trop longue

Bonjour à tous,

Une remarque en passant : il y a aussi Formula tout court

FormulaLocal permet de taper la formule en "français" mais ne fonctionnera que sur un Excel français

exemple

Code:
Range("A1").FormulaLocal = "=SI(B1=0;5;B2+1,5)"

équivaut à

Code:
Range("A1").Formula = "=IF(B1=0,5,B2+1.5)"

qui fonctionnera sur toutes les langues d'Excel

Je ne suis pas un Fan des formule en RC 🙂.

Eh bien c'est un tort 😉 : Elles ont un avantage non négligeable sur les formules en "A1" : elles permettent un adressage relatif sans dépendance de l'endroit où on les met

en reprenant le même exemple de formule, en R1C1 ça devrait donner

Code:
Range("A1").FormulaR1C1 = "=IF(RC[1]=0,5,R[1]C[1]+1.5)"

Si maintenant on avait envie de "recopier" ces formules de A1 à A5, pour les exemples en Formula et FormulaLocal on est obligé d'utiliser des "Autofill", pas toujours commode
Avec une formule en RC, c'est beaucoup plus simple :

Code:
Range("[COLOR=red]A1:A5[/COLOR]").FormulaR1C1 = "=IF(RC[1]=0,5,R[1]C[1]+1.5)"

Bon, désolé si j'ai pris la tête mais moi je trouve que ça peut avoir son importance 😉
 
Re : Formule trop longue

Bonjour au fil, au forum,
Juste pour suivre l'interressant Post de Tototiti,
Il est exacte que pour "l'exportaion", FormulaLocal n'est pas le meilleur choix 😀.
Par contre pour la recopie, Formula et FormulaLocal vont trés bien sans AutoFill (en tous cas après tests sous 2007):
Code:
[COLOR=blue]Sub[/COLOR] test()
Range("A1:A5").Formula = "=IF(B1=0,5,B2+1.5)"
[COLOR=blue]End Sub[/COLOR]

Code:
[COLOR=blue]Sub[/COLOR] test2()
Range("A1:B5").Formula = "=IF(C1=0,5,C2+1.5)"
[COLOR=blue]End Sub[/COLOR]

En tous cas, merci de ces précisions.
Cordialement
 
Re : Formule trop longue

Re,

Juste pour suivre l'interressant Post de Tototiti,

Merci, j'avais peur que ce soit barbant 😉

Par contre pour la recopie, Formula et FormulaLocal vont trés bien sans AutoFill

Alors là, un point pour toi, je n'avais jamais remarqué ça 😉

Pour pinailler (ma spécialité), je dirais que la formule en RC a quand même un petit avantage : elle ne change pas même si on veut la mettre en colonne C par exemple, elle pointera toujours sur des cellules de la colonne suivante (dans l'exemple)
Quoique, est-ce vraiment un "avantage" ?
 
- 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
1
Affichages
336
Réponses
2
Affichages
581
A
Réponses
4
Affichages
658
A
Réponses
3
Affichages
619
E
Réponses
5
Affichages
2 K
EDI9366
E
Réponses
12
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…