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 :

Aide inverser matrice


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 13
    Par défaut Aide inverser matrice
    Bonjour,

    Je suis débutante en VBA et je souhaite inverser une matrice. Je programme sous Excel 2016
    Sachant que j'ai d'abord écrit un tableau, que j'ai ensuite converti en matrice, que je souhaite inversé.

    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
    'On converti le tableau en matrice
     
    ReDim Mat(1 To derniere, 1 To derniere) As Variant
    Dim ho As Integer
    Dim go As Integer
     
    For ho = 1 To derniere
        For go = 1 To derniere
            Mat(ho, go) = Cells(lo + 2, go + 1).Value
        Next go
    Next ho
     
    ReDim Matinverse(1 To derniere, 1 To derniere) As Variant
    Matinverse = Application.MInverse(Mat)
    Aidez moi s'il vous plait

  2. #2
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 13
    Par défaut
    Pardon j'ai oublié de dire que le message d'erreur qui s'affiche est "incompatibilité de type" au niveau de la livre d'inversion "MaInverse...."

    Help

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    Bonjour je ne suis pas sur que tu ai besoins de faire 2 boucle imbiquées pour construire ta matrice(variable tableau)

    'On converti le tableau en matrice

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    dim mat
    Dim dercol' a déterminer de la facon que tu veux 
     Dim derlig' a determiner de la facon que tu veux 
    dim firstcell as range
     
    with  sheets("toto")
    Set firstcell=.range("A1")
     Mat=Application.MInverse(.range(firstcell,.cells((derlig,dercol)).value)
    end with
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    lecture de l'aide interne VBA :
    La matrice peut être indiquée sous forme de plage de cellules, par exemple, A1:C3, sous forme de constante matricielle, par exemple, {1,2,3;4,5,6;7,8,9}, ou sous forme de nom renvoyant à la plage ou à la constante.

  5. #5
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 13
    Par défaut
    Bonjour,

    Déjà merci pour votre aide.
    Quand j'adapte votre code à mon problème j'obtiens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ReDim Mat(1 To derniere, 1 To derniere) As Variant
    With Sheets("Graphique")
    Set firstcell = .Range("B3")
        Mat = Application.MInverse(.Range(firstcell, .Cells(derniere, derniere).Value))
    End With
    Mais un message d'erreur apparaît me disant "erreur définie par l'application ou par l'object" sur la ligne Mat = ...

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 13
    Par défaut
    Bonjour unparia,

    Mon tableau est uniquement composé de nombre, pas de cellule vide, et j'utilise des intégrateur, donc je ne vois pas le problème ....

  7. #7
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    C'est ta plage, que tu peux passer en paramètre (et pas une matrice construite sur les valeurs de cette plage)

  8. #8
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 13
    Par défaut
    Je suis désolé je ne comprends pas ...

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

Discussions similaires

  1. Inversion matrice bande (et non pas "résolution")
    Par mathieu1 dans le forum Fortran
    Réponses: 10
    Dernier message: 15/04/2010, 09h38
  2. [E-07] inverse matrice - matrice non inversible - gestion d'erreur
    Par Lnmex dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/12/2008, 23h51
  3. inverser matrice, complexité
    Par Heimdall dans le forum Mathématiques
    Réponses: 21
    Dernier message: 29/02/2008, 11h06
  4. [AIDE] Inversion d'une File : Récursivité
    Par rirou dans le forum Algorithmes et structures de données
    Réponses: 19
    Dernier message: 21/10/2007, 20h45
  5. aide classe matrice
    Par ba10 dans le forum C++
    Réponses: 8
    Dernier message: 17/05/2006, 08h10

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