IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

[E-07] matrice de corrélation (débutant)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 35
    Par défaut [E-07] matrice de corrélation (débutant)
    Salut,
    je dois calculer une matrice des corrélations. j'ai écrit un code mais ça ne marche pas, enfin celui de la matrice des corrélations. en fait je crée un tableau et à partir de celui ci déterminer la matrice des covariances et des corrélations. si je pouvais avoir un p'tit coup de main svp.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Function matrice_covariance(T, n, p) As Long
    Dim COV() As Integer
    Dim MC() As Integer
    Dim k As Integer
    Dim l, i As Integer
    Dim s As Long
     
    ReDim COV(1 To p, 1 To p) As Integer
    ReDim MC(1 To p) As Integer
    For k = 1 To p
     
    For l = 1 To p
     
    s = 0
     
    For i = 1 To n
     
    s = s + T(i, k) * T(i, l)
     
    Next i
     
    COV(k, l) = s \ n - MC(k) * MC(l)
     
    matrice_covariance = COV(k, l)
     
    Next l
     
     
    Next k
     
    End Function
    __________________________

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Sub matrice_correlation(n, p As Integer)
    
    Dim COR() As Integer
    Dim j, i As Integer
    Dim COV() As Integer
    Dim ET_L() As Integer
    Dim ET_C() As Integer
    Dim k, l As Integer
    
    ReDim COR(1 To p, 1 To p) As Integer
    ReDim COV(1 To p, 1 To p) As Integer
    ReDim ET_L(1 To n) As Integer
    ReDim ET_C(1 To p) As Integer
    
    
    For i = 1 To n
    
    For j = 1 To p
    
    
    
    COR(i, j) = COV(i, j) \ ET_L(i) * ET_C(j) ça bloque à ce niveau
    Next j
    
     
    Next i
    
    End Sub

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Il me semble que dans la procédure matrice_correlation les 4 tableaux utilisés sont des variables locales sans valeurs.
    Si l'objectif est de calculer la covariance, pourquoi ne pas utiliser les fonction de feuille correspondante?

    Cordialement,

    PGZ

  3. #3
    Membre averti
    Inscrit en
    Novembre 2008
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 35
    Par défaut
    bonsoir, ben les tableaux contiennenet des résultats calculés dans des fonctions antérieures. donc je voulais en qquesorte appeler le résultat de ces tableaux pr calculer ma matrice des corrélations. mais là j'avoue être perdu.

  4. #4
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Re,

    Eh bien j'imagine qu'au départ il y a 2 matrices, puis des tableaux de travail.
    Dans matrice_covariance on voit le remplissage de COV, mais ça ne doit pas être terrible car MC est une variable locale et certainement vide (tout élément = 0 puisque de type integer).
    Dans matrice_correlation, 4 tableaux tous vides. L'erreur d'exécution doit être une division par 0.
    Pour qu'une variable prérenseignée soit utilisable dans une sous procédure il faut :
    - soit que la variable soit publique
    - soit qu'elle soit passée en paramètre.

    Tu as un gros pb de structure de ton programme. Tu pourrais regarder les tutaux sur procédures et fonctions.

    EN espérant que cela puisse t'aider et cordialement,

    PGZ

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Matrice centré reduite et matrice des corrélations
    Par clement1990 dans le forum SAS STAT
    Réponses: 4
    Dernier message: 13/11/2017, 10h05
  2. Réponses: 1
    Dernier message: 02/02/2012, 17h22
  3. matrice de corrélation et ses coefficients
    Par malikakika dans le forum Traitement d'images
    Réponses: 3
    Dernier message: 08/02/2009, 19h11
  4. matrice de corrélation sous VBA Excel
    Par fox971 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 09/11/2008, 22h15
  5. Matrice des corrélations
    Par fafabzh6 dans le forum SAS STAT
    Réponses: 0
    Dernier message: 30/07/2008, 14h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo