miotte83
Messages postés2Date d'inscriptionlundi 12 septembre 2005StatutMembreDernière intervention13 septembre 2005
-
12 sept. 2005 à 05:11
miotte83
Messages postés2Date d'inscriptionlundi 12 septembre 2005StatutMembreDernière intervention13 septembre 2005
-
13 sept. 2005 à 02:02
bonjour a tous,
j'ai un probleme avec la validation d'une matrice sous vba.
en fait, j'ai applique une regression lineaire a un ensemble de mes donnes en passant par la fonction "linest" ...desolee c'est en anglais, je suis en australie..je ne connait pas la fonction en francais!!! ca doit etre droitereg ou quelque chose comme ca je crois..
bref, mon probleme c'est que pour valider le fonction quand on est sous excel on tape crtl+shift+entree...c'est pour valider une matrice. (j'ai deux coefficients)
mais sous vba?? on fait comment?? parce que la, j'ai selectionne dueux cellules mais il ne m'en rempli qu'une, comme s'il n'avait pas compris q c'est une mattrice!!
de l'aide svp!!
Merci
miotte83
Messages postés2Date d'inscriptionlundi 12 septembre 2005StatutMembreDernière intervention13 septembre 2005 13 sept. 2005 à 02:02
j'ai reussi en fait hier, en me prenant un peu le tete!! je crois que j'avais juste fait une erreur de frappe ..mais ca m'a permis d'avancer . je vous donne les lignes de code si ca peut aider quelqu'un. Mon but initial etait de creer une regression lineaire a partir d'un tableau de donnes. le probleme est que je ne sais pas a l'avance combien il y a de donnees par lignes (il peut ne rien y avoir comme il peut avoir 6 couples de (x,y) par lignes. C'est pour ca que je met des conditions (if >0) et que je selectionne les plages ou il y a quelque chose (typeconstant). j'espere que je me suis fait comprendre. Merci encore de m'avoir repondu.
For ligreg = 3 To 1000 Step 2
If Cells(ligreg, 26) > 0 And Cells(ligreg, 27) > 0 Then
Set plagex = Range(Cells(ligreg, 26), Cells(ligreg, 34)).SpecialCellsxlCellTypeConstants)
Set plagey = Range(Cells(ligreg + 1, 26), Cells((ligreg + 1), 34)).SpecialCells(xlCellTypeConstants)
Range(Cells(ligreg, 35), Cells(ligreg, 36)) =
Excel.Application.WorksheetFunction.LinEst(plagey, plagex)
Else
Range(Cells(ligreg, 26), Cells(ligreg + 1, 26)).Interior.ColorIndex = 3
End If
Next ligreg
Comme vous le voyez, j'ai fait appel a la fonction"linest" sans passer par la "fromulearray"..c'est un autre moyen.. ca peut aider des fois: ici la "formule array" ne marchait pas... pourquoi?? je ne sais pas!
@+