Macro pour une matrice

Résolu
cilou -  
 cilou -
Bonjour,

Après avoir pas mal cherché je suis toujours coincé au même point...
J'ai 3 colonnes A, B, C, chacune avec le même nombre de valeurs X et je souhaite faire une régression multiple, ainsi j'utilise la fonction "droitereg" en matrice grâce à excel. Tout marche jusque là...
Le soucis c'est que mon nombre de valeurs X varie d'un cas à l'autre et je voudrais rendre la régression automatique. En effet, pour le moment je dois à chaque fois reselectionner les données pour reconstruire la matrice ce qui prend du temps lorsque l'on a des dizaines de cas à comparer...
Je pense qu'il faut utiliser VBA mais je ne sais pas comment commencer...si quelqu'un à une idée, il est le bienvenu!

Merci d'avance :)

Cilou

A voir également:

4 réponses

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,
As tu essayé de définir tes plages de matrice avec la fonction decaler?
Cf ce site...
0
cilou
 
Bonjour,

Merci pour votre réponse.

Oui j'ai en effet essayé mais je rencontre toujours le même problème, comment désigner la dernière ligne non nulle et la rentrer de façon automatique dans la sélection. J'utilise peut être mal la fonction décaler...

Je re explique juste mon pb de façon peut être un peu plus clair
Prenons l'exemple de trois colonnes comprenant des valeurs des lignes 1 à 7

A1 C1 C2 C3
a g m
b h n
c i o
d j p
e k q
A7 f l r

je souhaite donc construire la matrice de la regression lineaire des lignes 1 à 7 (la dernière non nulle), si je l'écris manuellement ça donne:
droitereg(A1:A7;B1:C7;1;1)
Je voudrais à la place de mettre manuellement "A7" et "C7" dans la formule de regression, qu'excel selectionne directement les données jusqu'à la dernière ligne non nulle.

Un grand merci pour votre aide!
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Je ne peux pas tester car je suis complètement largué, mais essaye peut être ceci :
=DROITEREG(DECALER(A1;;;NBVAL(A:A));DECALER(B1;;;NBVAL(B:B);2);1;1)
Mais je confirme, persiste et signe DROITEREG c'est du chinois...
0
cilou
 
Ah super ca fonctionne très bien!
Merci beaucoup pour ton aide!
Il faut vraiment que je me mette à VBA ce sera plus simple!!
0