Validation d'une matrice

miotte83 Messages postés 2 Date d'inscription lundi 12 septembre 2005 Statut Membre Dernière intervention 13 septembre 2005 - 12 sept. 2005 à 05:11
miotte83 Messages postés 2 Date d'inscription lundi 12 septembre 2005 Statut Membre Dernière intervention 13 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

2 réponses

mrdep1978 Messages postés 402 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 7 juin 2009 7
12 sept. 2005 à 10:17
Salut,



J 'ai pris un exemple que j'ai déjà utilisé (inversion de matrice) :

J 'ai une matrice 3x3 en B2:D4 et je calcule sa matrice inverse en F6:H8 :

Range("F6:H8").FormulaArray = "=MINVERSE(R2C2:R4C4)"



J'espère que ça peut t'aider
0
miotte83 Messages postés 2 Date d'inscription lundi 12 septembre 2005 Statut Membre Dernière intervention 13 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!
@+
0
Rejoignez-nous