Calcul de corrélation sous VB

oliver7520 Messages postés 19 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 4 septembre 2007 - 29 juin 2007 à 10:30
oliver7520 Messages postés 19 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 4 septembre 2007 - 6 juil. 2007 à 17:29
bonjour,

je cherche à créer un macro pour calculer une corrélation.

j'ai crée un macro et ensuite utiliser la fonction " correlation " d' excel pour déterminer le code :

ActiveCell.FormulaR1C1 = _
        "=CORREL(Correlation!RC[-2]:RC,correlationindice!R[21]C[-2]:R[21]C)"
 
Avec la fonction excel le calcul se réalise correctement.

Par contre lorsque je lance la macro ci-dessous rien ne se passe?

comment dois je procéder pour que le calcul se fasse via la macro

merci de votre aide

10 réponses

JM247L Messages postés 443 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 1 mars 2011 2
29 juin 2007 à 17:58
Bonsoir,
J'imagine que "Correlation" et "Correlationindice" sont des feuilles
Alors si oui ... pour moi ça fonctionne correctement

JML
 Partageons notre savoir et nos acquis
0
oliver7520 Messages postés 19 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 4 septembre 2007
29 juin 2007 à 18:32
exact "Correlation" et "Correlationindice" sont des feuilles.

Le problème c'est que le résultat ne s'affiche pas
0
JM247L Messages postés 443 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 1 mars 2011 2
2 juil. 2007 à 09:43
Envoie une copie d'écran de chacune des feuilles concernées ou envoie moi ton fichier par un message privé

JML
 Partageons notre savoir et nos acquis
0
oliver7520 Messages postés 19 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 4 septembre 2007
2 juil. 2007 à 11:00
bonjour,

comment on attache une pièce jointe en MP

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JM247L Messages postés 443 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 1 mars 2011 2
3 juil. 2007 à 15:23
Pas de nouvelle est-ce à dire bonnes nouvelles

JML
 Partageons notre savoir et nos acquis
0
oliver7520 Messages postés 19 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 4 septembre 2007
4 juil. 2007 à 10:05
bonjour,

on se bat....

mon resultat ne s'affiche pas lorsque je veux calculer la corrélation avec le code ci-dessous

ActiveCell.FormulaR1C1 = _
    "=CORREL(Correlation!RC[-2]:RC,correlationindice!R[21]C[-2]:R[21]C)"
Sheets("histocorrélation").Range("d2").Value = ActiveCell. Value

Ce qui est marrant c'est qu'un calcul simple comme celui du code ci-dessous fonctionne bien et s'affiche au bon endroit.

<!-- BEGIN TEMPLATE: bbcode_code -->ActiveCell.FormulaR1C1 = Sheets("Correlation").Range("B2") + Sheets("Correlation").Range("c2") + Sheets("Correlation").Range("d2")
 
Result = Sheets("Correlation").Range("B2") + Sheets("Correlation").Range("c2") + Sheets("Correlation").Range("d2")
 
Sheets("histoCorrélation").Range("d2") = Result

Je pense que mon pb est lié à la formule, mais je ne comprends pas ou est le pb
0
JM247L Messages postés 443 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 1 mars 2011 2
4 juil. 2007 à 16:11
Bonjour,
Dans quelle feuille inséres tu cette formule ?
JML
 Partageons notre savoir et nos acquis
0
JM247L Messages postés 443 Date d'inscription mardi 27 mars 2007 Statut Membre Dernière intervention 1 mars 2011 2
4 juil. 2007 à 16:34
Après exécution de la macro tu obtiens
    =COEFFICIENT.CORRELATION(Correlation!C2:E2;correlationindice!C23:E23)
dans la cellule active
Mais il faut impérativement que cette cellule active soit en ligne 2 quelque soit la colonne sous peine de récolter un #DIV/0!
JML
 Partageons notre savoir et nos acquis
0
oliver7520 Messages postés 19 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 4 septembre 2007
6 juil. 2007 à 10:18
Ok ca fonctionne. merci à tous

olivier
0
oliver7520 Messages postés 19 Date d'inscription vendredi 29 juin 2007 Statut Membre Dernière intervention 4 septembre 2007
6 juil. 2007 à 17:29
voilà le code que j'ai trouvé pour calculer les corrélations insérer les résultats dans la colonne "D" de mon onglet "histocorrélation"

cordialement

olivier

Sub integrationcorrelation()


Sheets("Histocorrélation").Select
    Selection.ClearContents
    Range("D2").Select
    ActiveCell.FormulaR1C1 = _
        "=CORREL(Correlation!RC[-2]:RC,correlationindice!R[21]C[-2]:R[21]C)"
       
    Range("D3").Select
    ActiveCell.FormulaR1C1 = _
        "=0.8*CORREL(Correlation!RC[-2]:RC,correlationindice!R[18]C[-2]:R[18]C) + 0.2*CORREL(Correlation!RC[-2]:RC,correlationindice!R[-1]C[-2]:R[-1]C)"
        
    Range("D4").Select
    ActiveCell.FormulaR1C1 = _
        "=CORREL(Correlation!RC[-2]:RC,correlationindice!R[21]C[-2]:R[21]C)"
       
    Range("D5").Select
    ActiveCell.FormulaR1C1 = _
        "=CORREL(Correlation!RC[-2]:RC,correlationindice!R[15]C[-2]:R[15]C)"
       
ActiveWorkbook.Save
0