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 :

VBA-E Mutiplication matricielle


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 11
    Par défaut VBA-E Mutiplication matricielle
    Bonjour,
    J'ai écrit un petit programme qui génère 2 matrices aléatoires et leurs produits.

    Pour les matrices aléatoires ça marche mais pour le produit ça marche pas.
    Probablement à cause de la formule de la multiplication.

    Voici mon 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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    Dim N, M As Integer
     
            N = Range("C3").Value
            M = Range("C4").Value
     
            Range("C3").NumberFormat = "0"
            Range("C4").NumberFormat = "0"
     
            Range("A8").Select
     
            'Matrice A
            Dim I As Integer
           For I = 0 To CInt(Range("C3").Value)
           For J = 0 To CInt(Range("C4").Value)
     
          ActiveCell.Offset(I, J).Value = Rnd() * 100
            Next J
            Next I
     
     
     
            'Matrice B
            Dim K, L As Integer
           For K = 0 To CInt(Range("D3").Value)
           For L = 0 To CInt(Range("D4").Value)
     
          ActiveCell.Offset(I + K + 2, L).Value = Rnd() * 100
            Next L
            Next K
     
      'Matrice AXB
            For J = 0 To CInt(Range("C3").Value)
            For L = 0 To CInt(Range("D4").Value)
     
          ActiveCell.Offset(I + K + 2, L).Value = ActiveCell.Offset(I, J).Value * ActiveCell.Offset(I + K + 2, L).Value
     
            Next L
            Next J
     
    GoTo Error:
    If J > K Then
    Error:
    MsgBox ("Les dimensions des deux matrices sont incompatible")
    Exit Sub
    End If
    Merci d'avance,
    marco

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    je crois que tu te fous dedans a cause d'active cells
    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
    ActiveCell.Offset(I + K + 2, L).Value = Rnd() * 100        
    Next L
            Next K
     
      'Matrice AXB
            For J = 0 To CInt(Range("C3").Value)
            For L = 0 To CInt(Range("D4").Value)
            
          ActiveCell.Offset(I + K + 2, L).Value = ActiveCell.Offset(I, J).Value * ActiveCell.Offset(I + K + 2, L).Value      
            Next L
            Next J
     
    GoTo Error:
    If J > K Then
    Error:
    MsgBox ("Les dimensions des deux matrices sont incompatible")
    Exit Sub
    End If

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 11
    Par défaut
    merci pour ta réponse.

    J'ai essayé mais ca donne rien.

    Est ce que tu peux juste m'exliquer le code pour muliplier 2 matrices A(I,J) et B(K,L)?

    Merci d'avance,
    Marco

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    393
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 393
    Par défaut
    Y'a-t-il une différence avec ton autre topic (qui soit dit en passant n'est pas )?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 11
    Par défaut
    L'autre topic n'est pas encore finalisé, c'est pour ça qu'il n'est pas encore résolu.

    Celui là est en cas général: 2 matrices de rangées et colonnes variables en fonction de deux boucles For.

    Merci,
    marco

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

Discussions similaires

  1. [XL-2007] Ecrire en Vba une formule matricielle
    Par INFINITY100 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/06/2015, 13h40
  2. [XL-2003] Formule matricielle en VBA
    Par jackall dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 16/06/2009, 11h24
  3. Réponses: 5
    Dernier message: 05/02/2008, 12h27
  4. operations mathematiques dans une variable matricielle Sous VBA
    Par Mr_JF dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/01/2008, 13h16
  5. [VBA-E] - formule matricielle
    Par jimbololo dans le forum Macros et VBA Excel
    Réponses: 37
    Dernier message: 09/06/2006, 14h27

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