Problème d'expression aprés Formula

Bonjour bonjour !

Je travail sur un vba qui doit calculer les facteurs de différentes régressions linéaires.

Dans ma feuille Excel j'utilise cette formule qui marche nickel :

=INDEX(DROITEREG(D3:D8;C3:C8^{1.2};1;1);1;1)

Du coup je veux utiliser la même dans mon vba ce qui donne :

Cells(K, 5).Formula = "= INDEX(DROITEREG(D" & K & ":D" & p & ";C" & K & ":C" & p & "^{1.2};1;1);1;1)"

avec K et p des entiers qui changent avec une boucle .

Sauf que excel dit non " ERREUR DÉFINIE PAR L'APPLICATION OU PAR L'OBJET "

Merci d'avance

Bonjour,

Alors mise en garde, les noms des fonctions de ta feuille et sur VBA ne sont pas les mêmes, pour le cas de Somme.SI par exemple ça donne quelque chose comme SUMIF ou quelque chose comme ça.

Si j'enregistre par exemple avec l'enregistreur de macro la fonction Somme sur une plage donnée j'obtiens :

ActiveCell.FormulaR1C1 = "=SUM(RC[1]:R[5]C[1])"

Tu pourras trouver l'ensemble des fonctions utilizables dans l'objet worksheetfunction, pour ta fonction il s'agit de cette fonction :

"=LINEST(1,2,FALSE,FALSE)"

Bonjour,

Pour ma part, je crois avoir repéré 2 ou 3 erreurs dans ton code VBA :

erreur

Et : "=INDEX(..." à la place de "= INDEX(..."

Je crois que dans la formule, les références de plages s'écrivent "R1C1" à la place de "A1" par exemple.

Ensuite les formules sont à traduire en anglais

Au passage, pour INDEX, il faut laisser INDEX, c'est la même chose en anglais

Merci de vos réponses j'ai modifié la chose mais..

J'ai toujours pas réussi, ce que je veux c'est afficher le A de ma régression y=Ax²+Bx+C dans Range("E3")

sachant que mes x sont dans Range("D3,D8") et mes y dans Range ("C3,C8")

mon code est:

Range ("E3") = Application.LinEst(Range("D3,D8"), Range ("C3,C8")).Index(1, 1)

(J'ai essayer de simplifier le problème ) mais ça ne marche pas non plus

Range("D3:D8")
'Et pas :
Range("D3,D8")

Peux-tu nous envoyer ton fichier ou une version simplifiée que l'on s'appuie sur l'existant pour résoudre ton problème ?

ahahah j'ai trouvé une solution !

voila la ligne que j'ai écrite

Cells(K, 5).FormulaR1C1 = "=INDEX(LINEST(RC[-1]:R[" & o & "]C[-1],RC[-2]:R[" & o & "]C[-2]^{1,2}),1,1)"

ou o est dépend d'une boucle

ça marche !!!

merci pour les conseils

Rechercher des sujets similaires à "probleme expression formula"