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 :

matrice de corrélation sous VBA Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Par défaut matrice de corrélation sous VBA Excel
    Salut toujour pour mon dossier pour la fac

    J'ai des problèmes pour calculer une matrice de corrélation sous VBA Excel à chaque fois que j'execute il me dit qu'il y a un indice hors selection.

    Pourriez vous me verifier le code:

    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
    32
    Private Sub CommandButton5_Click()
    Dim VStDev() As Variant
    Dim i As Integer
    Dim j As Integer
    Dim k As Integer
    Dim l As Integer
    Dim m As Integer
    Dim o As Integer
    Dim p As Integer
    ReDim VStDev(NbreTitres, NbreTitres)
    Sheets("Covariance").Cells.ClearContents
    For i = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(i) = True Then
    k = k + 1
    End If
    Next i
    NbreTitres = k
    NbreCorr = NbreTitres * (NbreTitres - 1) / 2
    For j = 1 To NbreTitres
    Sheets("Covariance").Cells(1 + j, 1) = Sheets("Transit").Cells(1, j).Value
    Sheets("Covariance").Cells(1, 1 + j) = Sheets("Transit").Cells(1, j).Value
    Next j
    NbreRend = Sheets("Transit").Range("A1").End(xlDown).Row - 1
    For i = 1 To NbreTitres
        VStDev(i) = Application.StDev(Sheets("Transit").Cells(2, i), Sheets("Transit").Cells(NbreRend + 1, i))
        For o = 1 To i
            Sheets("Covariance").Cells(1 + i, 1 + o) = Application.Covar(Sheets("Transit").Cells(2, i + 1), Sheets("Transit").Cells(NbreRend + 1, i + 1), Sheets("Transit").Range(Cells(2, o + 1), Cells(NbreRend + 1, o + 1))) / (VStDev(i) * VStDev(o))
            Sheets("Covariance").Cells(1 + o, 1 + i) = Sheets("Covariance").Cells(1 + o, 1 + i)
        Next o
    Next i
     
    End Sub
    Merci d'avence
    à bientot

  2. #2
    Membre Expert
    Avatar de JackOuYA
    Inscrit en
    Juin 2008
    Messages
    1 040
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 1 040
    Par défaut
    bonsoir,

    merci de nous préciser la ligne concerné par l'erreur !

    où sont déclarés les variables :

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Par défaut
    L'erreur se trouve sur cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    VStDev(i) = Application.StDev(Sheets("Transit").Cells(2, i), Sheets("Transit").Cells(NbreRend + 1, i))
    pour le NbreTitres, NbreTitres le prof nous l'a donner comme sa

  4. #4
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ReDim VStDev(NbreTitres, NbreTitres)
    .....
    
     VStDev(i) = Application.StDev(Sheets("Transit").Cells(2, i), Sheets("Transit").Cells(NbreRend + 1, i))
    ............
    Sheets("Covariance").Cells(1 + i, 1 + o) = Application.Covar(Sheets("Transit").Cells(2, i + 1), Sheets("Transit").Cells(NbreRend + 1, i + 1), Sheets("Transit").Range(Cells(2, o + 1), Cells(NbreRend + 1, o + 1))) / (VStDev( i ) * VStDev(o))
           ....
    tu nous expliques ce qu'est ce tableau ?
    Il est finalement à combien de dimensions ?
    Et initialisées (les dimensions) à quoi (puisque Nbtitres n'est calculé que plus loin ...)?

    Bref : tu traites avec un tableau de 0 colonnes sur 0 lignes !!!!, déjà, à la base ... (sans préjudice de ce qu'ensuite, en plus, tu le considères comme un tableau à une seule dimension !!!...)

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Par défaut
    c'est une matrice aléatoire 4*4

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Aléatoire ?
    Non (relis-moi attentivement) il a tout sauf de l'aléatoire, dès sa création ! (0 lignes et 0 colonnes...)... et lis le reste également...

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juin 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 7
    Par défaut
    Enfaite c'est un des modules de mon Project qui au départ crée une matrice aléatoire ensuite il fait la moyenne la variance et ma troisième procédure est sensée me donné la matrice de corrélation de la premier matrice aléatoire

Discussions similaires

  1. passage de parametre sous VBA excel
    Par raka200 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 21/12/2007, 11h07
  2. transformé cellule sous vba excel
    Par axamen dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 07/06/2007, 15h03
  3. [VBA-E] Comment créer un tableau sous vba excel
    Par jeanpierreco dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/01/2007, 09h52
  4. Arc de cercle sous VBA excel?
    Par fredieuric dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/11/2006, 13h58
  5. ptit probleme combobox sous vba/excel
    Par bandito dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/10/2006, 09h34

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